C++
文章平均质量分 69
傍晚的微风
过往不究,知足常乐
展开
-
C语言sizeof与strlen函数
sizeof是编译时运算符,用来确定变量或类型在内存中的大小。以字节为单位strlen是运行时函数,用来确定一个以'\0'结尾的字符串长度。不包含'\0',参数必须是字符串。// 内存大小 5+1=6// 指针大小 4或者8// 字符串长度 2// 字符串长度 2。原创 2024-08-20 16:22:59 · 65 阅读 · 0 评论 -
C语言char*和char[]数组差异
`char*`:如果指向动态分配的内存(使用 `new` 或 `malloc`),需要手动释放(使用 `delete` 或 `free`)。- `char[]`:可以被初始化为一个字符串字面量,并且数组的大小可以由字符串的长度加1(为终止的空字符`'\0'`留出空间)确定。- `char*`:经常作为参数传递给C语言风格的字符串操作函数,如 `strlen`、`strcpy` 等。- `char[]`:在使用现代C++特性时(如 `std::string`),可以避免越界错误。原创 2024-08-20 15:36:31 · 71 阅读 · 0 评论 -
堆上分配内存malloc 和 free 与new 和 delete
当C++中创建动态数组时,使用new[] 删除时使用delete[是C++中用于对象动态内存分配的操作符。是C语言标准库中用于动态内存分配的函数。原创 2024-08-20 14:11:57 · 146 阅读 · 0 评论 -
C++静态函数和static关键字
这个函数通常被称为“获取实例”(GetInstance)的方法,它负责检查静态成员变量是否已经被初始化,如果没有,则创建类的实例并存储在静态成员变量中。- 普通变量:具有自动存储期(如果定义在栈上)或动态存储期(如果通过`new`操作符分配),它们在定义时创建,在作用域结束时销毁(自动存储期)或需要显式删除(动态存储期)。静态函数属于类本身,而不是类的某个特定实例。- 静态变量:可以在定义它们的类或命名空间内被访问,如果被声明为`public`或`protected`,也可以被类实例或继承类访问。原创 2024-08-20 13:50:21 · 651 阅读 · 0 评论 -
C++引用和指针的区别
/ 普通变量定义int a = 10;// a是一个整数变量,a有地址 #1234,存储的值为10// 引用的定义int& b = a;// b是a的引用,一个别名,没有独立的地址与a共享// 指针变量的定义// ptr是一个int类型指针,有自己的地址 #0001,地址内存储值为00空// ptr1是一个int类型指针,有自己的地址 #0002,存储变量a的地址#1234// 输出指针变量的地址// 输出 ptr1的地址 #0002// 输出指针变量存储的地址中的值。原创 2024-08-20 09:10:44 · 292 阅读 · 0 评论