随笔分类 - C/C++
摘要:一、在以下几种情况下会调用对象的拷贝构造函数(对象被创建时): 1.一个对象以值传递的方式作为函数的形参时; void func(CTest t) // CTest为clas类型,见下文 { cout << t.a << " " << t.b << endl; } 2.一个对象以值传递的方式作为函数
阅读全文
摘要:1.友元函数的一般形式: friend <返回类型> <函数名>(<参数列表>); #include <iostream> using namespace std; class Test { friend class Object; //友元类 friend void g_func(); //友元函
阅读全文
摘要:1.封装,public,private作用就是这个目的。 类外只能访问public成员而不能方位private成员; private成员只能被类成员和友元访问; 2.继承,protected的作用就是这个目的; protected成员可以被子类对象访问,但不能被类外的访问; 3.公有继承:class
阅读全文
摘要:1.静态成员变量必须在类外初始化 2.静态成员变量在类中不占内存字节; 3.静态成员变量,被所有的类对象共 享 G ga; G gb; ga.a = 521; cout << gb.a << endl; //输出结果为521,而不是520,说明静态局部变量被共享了; 4.静态成员函数,只能访问sta
阅读全文
摘要:1. 纯虚函数形式 代码中的func1就是纯虚函数,没有函数体,没有函数的具体实现,有virtual,在函数名后面带有“ = 0”形式; 2.对于纯虚函数的注意事项 1.对含有纯虚函数的类,称为抽象类; 2.抽象类不能实例化,不能new; 3.纯虚函数被充当函数接口使用,函数的具体实现,在子类中实现
阅读全文
摘要:1.空类所占字节数为1,可见代码如下 #include <iostream> using namespace std; class Parent { }; class Child:public Parent { public: int b ; }; int main(int argc, char*
阅读全文
摘要:参考链接:https://blog.csdn.net/kang_tju/article/details/76515894 https://www.cnblogs.com/TenosDoIt/p/3456704.html 1.auto_ptr: #include <iostream> #include
阅读全文
摘要:参考文献:https://www.cnblogs.com/fnlingnzb-learner/p/5833051.html
阅读全文
摘要:http://blog.163.com/wupengzhi2005@126/blog/static/17101002201072121336803/ https://blog.csdn.net/testcs_dn/article/details/51463367
阅读全文
摘要:https://www.cnblogs.com/fnlingnzb-learner/p/5833051.html https://www.cnblogs.com/hdk1993/p/4419779.html
阅读全文
摘要:#include typedef void (*fun)(int); fun p = NULL; //回调函数---提供给应用的一个解决方案 void callback(int a) { cout << "callback result = " << a << endl; } //通过调用函数指针,具体采用我方的解决方案解决问题 void caller(fun pCallba...
阅读全文
摘要:https://www.cnblogs.com/lanxuezaipiao/p/4132096.html
阅读全文
摘要:1.const修饰的成员函数只能调用const修饰的成员函数,且不能修改数据成员变量的值。 void CTest::func() { std::cout << a << std::endl; std::cout << a++ << std::endl; std::cout << b << std::
阅读全文
摘要:不同类型数据间的混合运算与类型转换 1.自动类型转换 在C语言中,自动类型转换遵循以下规则: ①若参与运算量的类型不同,则先转换成同一类型,然后进行运算 ②转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算 a、若两种类型的字节数不同
阅读全文
摘要:恢复内容开始 随堂笔记 1.float 为单精度浮点型,使用 ” %f “输出; 初始化时:float a=0.23f; 这里要加一个f表示是单精度浮点型; 2.double为双精度浮点型,使用“ %lf ”输出; 初始化时:double a=0.23; 这里不f表示为双精度浮点型; 3.print
阅读全文
摘要:一. 在c中分为这几个存储区:栈(stack),堆(heap),代码段(text),数据段(data),bss 段,常量存储区,1.栈(stack):由编译器自动分配释放自动分配,自动回收:栈区里面存放的是局部变量;在定义局部变量的时候,系统在栈区自动分配内存,在结束时,自动回收内存;脏内存:栈区每
阅读全文
摘要:2017年11月23日大端/小端的存储模式1.大端: 如果是将高字节的数据存储在低地址,低字节数据存储在高地址,这种存储模式就是大端模式;2.小端: 如果是将高字节的数据存储在高地址,低字节数据存储在低地址,这种存储模式就是小端模式;3.对大小端模式的测试方法: 1).使用union共用体进行测试:
阅读全文
摘要:1.对于可变参数 可变参数列表通过stdarg.h中的宏实现; 主要有一个va_list类型 三个宏:va_start,va_arg,va_end; va_start格式: va_start(argument1,argument2); 其中argument1是一个va_list,定义的变量; arg
阅读全文
摘要:1.对于函数头文件: #include <filename> 一般对于标准库文件以一个.h后缀结尾; 2.对于本地文件: #include "filename.h" 对于处理本地头文件的一种常见方法:先在源文件所在的当前目录进行查找,如果没有找到,则到标准位置查找; 3.头文件嵌套包含时: 当一个文
阅读全文
摘要:1.格式: 其中 constant-expression(常量表达式:字面值常量,或者一个有#define定义的符号)由预处理器进行求值; 如果值为非零值,则statements被正常编译; 注意: 这里#elif 出现的次数不限制,每个constant-expression (常量表达式) 只有当
阅读全文