随笔分类 - C++
摘要:class A{ private: int a; int b; }; void main() { A a = {1,2}; } ps:其实就是和结构体的赋值方式很像,当做对类在内存上的初始化就很好理解了;如果有构造函数就不能这样初始化了
阅读全文
摘要:1、 由于我只遇到了友元函数,实际上还有友元类,共同的友元等。这里只记录友元函数。 2、我是用友元函数类作为C++11的线程入口函数 3、代码,这里以卖票为例子 卖票头文件: 卖票源文件: main函数: 4、分析 这是一个多线程卖票的程序,有两个售票员在一直卖票,主要注意的是这里有两个友元函数。虽
阅读全文
摘要:在C++类中可以定义静态成员变量(使用static声明) 1、静态成员变量属于整个类所有 2、静态成员变量的生命期不依赖任何对象 3、可以通过类名直接访问静态成员变量(设置成public),也可以通过对象名访问 4、所有对象共享类的静态成员变量 ps:静态成员变量需要在类外单独分配空间;静态变量处于
阅读全文
摘要:转:https://www.cnblogs.com/BlueTzar/articles/1223169.html 转:https://www.cnblogs.com/BlueTzar/articles/1223169.html 构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数
阅读全文
摘要:只有指针才能默认参数为NULL,所以如果希望此结构体默认参数为NULL,需要把参数改为结构体指针: void fun(MyStruct* myStruct=NULL );
阅读全文
摘要:一、构造函数的问题 构造函数存在问题: A、构造函数只提供自动初始化成员变量的机会 B、不能保证初始化逻辑一定成功,如申请系统资源可能失败 C、执行return语句后构造函数立即结束 构造函数创建的对象可能是半成品对象,半成品对象是合法的对象,但是是程序bug的来源之一。因此实际工程开发过程中使用二
阅读全文
摘要:转自:https://www.cnblogs.com/ymy124/p/3632634.html 首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显式的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默
阅读全文
摘要:C++语言中,对象没有空和不空的概念,只有对象指针才有空和不空的概念 判断对象指针是否为空只需要和NULL常量进行比较即可 如果相等,则为空,否则不为空 另外对象虽然没有空和不空的概念,但是有有效和无效的概念 当对象的析构函数被调用之后,对象即成为一个无效对象 一般可以用句柄法来判断 当对象被构造的
阅读全文
摘要:1、在.h中包含头文件,是为了声明一系列这个头文件的变量等,可能会产生重复包含的问题; 2、在.cpp中包含头文件只是为了实现这个头文件或者使用其中的方法,不会有重复包含的问题,所以尽量在源文件中包含头文件。
阅读全文
摘要:如果声明一个指针变量,然后为这个变量new多次, eg:Type* A; A = new Type();//1 A = new Type();//2 最后变量A指向的是最后的那个对象,与前面new的无关
阅读全文
摘要:C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).
阅读全文
摘要:struct _FileInfo{ int fileSizeGB; int fileSizeMB; int fileSizeKB; int fileSizeBYTE; char fileName[32];//文件名称 char fileSuffix [6];//文件后缀 }FileInfo; 这里的
阅读全文
摘要:1、自定义函数 void GetName(); 2、布尔型变量 BOOL ISOPEN;
阅读全文
摘要:构造函数:一个类可以有多个构造函数,构造函数可以带参数,用于初始化对象,不能有返回值,构造函数名和类名相同,用于生成新的对象 析构函数:一个类只有一个析构函数,不能带参数,用于回收对象,不能有返回值,析构函数名是在类名前面加~,用于回收对象 析构函数必须定义成public,否则编译不过,这样是为了方
阅读全文
摘要:首先uchar就是BYTE:Typedef unsigned char BYTE; char:就是signed char,是一个字节,8个位。第8位是符号位,所以可以表示-128~127共256个符号。 BYTE:没有符号位,可以表示0~255共256个符号。 在计算机中,所有数据都是二进制表示,一
阅读全文
摘要:1、前言 #include <fstream> using namespace std; 文件操作对象: ofstream 该数据类型表示输出文件流,用于创建文件并向文件写入信息。 ifstream 该数据类型表示输入文件流,用于从文件读取信息。 fstream 该数据类型通常表示文件流,且同时具有
阅读全文