C/C++
eotteon__ireum
要成为有趣的大人.
展开
-
关于new 动态内存分配
new原创 2020-07-21 00:49:25 · 154 阅读 · 0 评论 -
strlen和sizeof的区别(简单)
sizeof获得是所占的字节数,所分配的空间的字节数。strlen获得是长度(实际字符的个数)。例如: char a[5]=“abc”;sizeof(a) 等于5,因为分配了容5个字节的空间。而strlen(a)等于3,这是其实际字符的个数...原创 2020-07-17 19:02:12 · 103 阅读 · 0 评论 -
「指针」笔记
b站某指针视频笔记内存四区:代码区堆存放代码全局区 存放全局变量栈 系统自动开发 自动释放 小堆 动态内存手动开辟 大原创 2020-07-15 20:14:51 · 77 阅读 · 0 评论 -
cerr和cout的区别
cout是标准输出流,与cerr的区别在于不经过缓冲区,直接向显示器输出信息,而cout中的信息存放在缓冲区,缓冲区满或者遇到endl时才输出。原创 2020-05-17 22:01:36 · 655 阅读 · 0 评论 -
C++文件操作(头文件)
#include <fstream>#include 是包含C++的STL头文件在包含了这个文件之后,就可以使用fstream的各种成员函数了。fstream包含了常用的所有文件操作。在C++中,所有的文件操作,都是以流(stream)的方式进行的。常用操作:1)插入器(<<)向流输出数据。比如打开一个文件流fout,fout<<“Write to file”<<endl;表示把这个字符串写入文件并换行。2)析取器(>>)从流中输原创 2020-05-17 21:13:08 · 5441 阅读 · 0 评论 -
函数模版/类模板
函数模板:实际上是建立一个通用函数,其函数返回类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用的函数就是函数模板。凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。#include <iostream>using namespace std;template < typename T >T abs(T x) { return x < 0 ? -x : x;}int main(int argc, char *原创 2020-05-17 19:46:26 · 128 阅读 · 0 评论 -
面向对象三大特性五大基本原则
三大特性:封装继承多态封装:把客观的事物封装成抽象的类。继承:让某个类的对象获得另一个类型的对象的属性的方法。多态:一个类的实例的相同方法在不同情形下有不同的表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。五大基本原则:单一职责原则:一个类的功能要单一,不能包罗万象。开放封闭原则:一个模块在扩展性方面应该是开放的,在更改性方面应该是封闭的。里氏替换原则(the Liskov Substitution Principle LSP) :子类应当可以替换父类并出现在父类能够出现的任原创 2020-05-17 01:10:12 · 96 阅读 · 0 评论 -
递归和迭代
递归:函数自己调用自己。迭代:A不停的调用B递归中有迭代,但是迭代中不一定有递归。递归调用函数,浪费空间,递归太深易造成堆栈溢出。原创 2020-05-16 23:09:55 · 76 阅读 · 0 评论 -
成员指针运算符
成员指针——指向一个类中某个成员的指针。(直接指向,不是通过某个对象指向)class cc{public: int num; double getn(float addr){ return addr+num; }};int cc::*fnum=&cc::num;double (cc::*fgetn)(float)=&cc::getn;如何访问成员指针指向的内容:通过一个对象访问。cc c;c.*fnum;cc *p;(p->*fgetn)(1.0);原创 2020-05-16 23:00:34 · 813 阅读 · 0 评论 -
函数重载/运算符重载
1.函数重载用同一个函数完成不同的功能。#include <iostream>using namespace std; class printData{ public: void print(int i) { cout << "整数为: " << i << endl; } void print(double f) { cout << "浮点数为: " <原创 2020-05-16 19:29:02 · 125 阅读 · 0 评论 -
公有继承/私有继承/保护继承的区别
1.公有继承–public公有继承时,对基类的公有成员和保护成员的访问属性不变,派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。派生类的对象只能访问派生类的公有成员(包括继承的公有成员),访问不了保护成员和私有成员。2.保护继承–protected保护继承中,基类的公有成员和保护成员被派生类继承后变成保护成员,派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。派生类的对象不能访问派生类继承基类的公有成员,保护成员和私有成员,派生类的对象只能访问原创 2020-05-16 01:07:37 · 7584 阅读 · 1 评论 -
结构体指针
#include <stdio.h>#include <stdlib.h>struct person{ char *name; unsigned int age; void (*speak)(); void (*eat)();};void speak_chinese(){ printf("speak chinese\n");}void eat_bread(){ printf("eat bread\n");}st原创 2020-05-15 21:24:12 · 101 阅读 · 0 评论 -
函数指针&指针函数
函数指针:是个指针。指针函数:是个函数,返回值是指针。原创 2020-05-15 13:56:11 · 87 阅读 · 0 评论 -
【C语言经典小程序(二)】
1.三个数从小到大输出#include <stdio.h>void main(){ int a,b,c,t; printf("enter 3 int nums:\n"); scanf("%d%d%d",&a,&b,&c); if (a>b) { t=a; a=b; b=t;...原创 2020-10-12 11:26:43 · 522 阅读 · 0 评论 -
C/C++笔试题
【C和C++的差异】1.structC中的struct中不能定义函数,但是可以用函数指针。C++中的struct可以定义函数,默认public2.C++中的struct和class的区别默认继承权限:如果不明确指定,来自class的继承按照private继承处理,来自struct的继承按照public处理。成员的默认访问权限:class的成员默认是private权限,struc...原创 2020-05-01 18:30:03 · 18477 阅读 · 2 评论 -
sizeof()和lstrlen()和strlen()区别
strlen()是返回字符串的字节长度,lstrlen()是返回字符串的字符长度。也就是说第二个函数可能和第一个函数结果一样,如果字符串中字符单位都是单字节的话。一般来说主要区别在于ascii的字符,还是unicode或者是utf的区别。ASCII编码是一个字符占一个字节,Unicode是一个字符占两个字节.求这两种字符串的长度,要用两个函数分别来.lstrlen(),strlen()用...原创 2020-10-12 11:30:02 · 363 阅读 · 0 评论 -
C++static关键字变量的存储位置
C++的static有两种:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中作用。一、面向过程设计中的static1.静态全局变量在全局变量前,加static,该变量被定义为一个静态全局变量特点:该变量在全局数据区分配内存未经初始化的静态全局变量会被程序自动初始化为0(自动变量的值是随机的,除非它被...原创 2020-04-30 00:03:38 · 2578 阅读 · 0 评论 -
【C/C++ 经典小程序(一)】
【1】九九乘法表输出9*9口诀。共9行9列,i控制行,j控制列。#include <stdio.h>void main(){int i,j,result;for (i=1;i<10;i++){ for(j=1;j<i;j++){result=i*j;printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*...原创 2020-03-20 16:28:48 · 3147 阅读 · 0 评论