- 博客(6)
- 收藏
- 关注
原创 C++智能指针
unique_ptr指针不能复制,因为如果其中一个指针销毁了,释放了内存,那么第二个unique_ptr指针指向了已经被释放的内存运行,可以看到作用域结束entity被自动销毁。
2024-10-25 21:46:46
305
原创 C++对象生存期
使用作用域指针,可以在堆上分配,并且在超出作用域后自动删除(在栈对象的析构函数里delete堆对象)在栈上创建的对象超出作用域就会自动销毁,内存会被释放。2.将创建的数据复制给一个在栈作用域之外存在的变量。两种改正方法:1.在堆上分配数组。在栈上的创建数组的错误写法。
2024-10-25 11:33:23
224
原创 C++成员初始化列表
创建了两次Example的对象,相当于创建了一个Example对象,然后扔掉了它,然后新创建了Example对象覆盖它,使用成员初始化列表可以防止在某些情况下对象被构造两次。使用成员初始化列表,运行构造函数只创建一个实例。创建一个Entity实例,使用默认构造函数。成员初始化列表需要按照定义变量的顺序写。如果不使用成员初始化列表。
2024-10-24 17:18:31
95
原创 C++的const
const是一个承诺,承诺了一些东西是不会改变的(还是有办法改变,是否遵守承诺取决于写代码的)比如一个在程序中保持不变的数字,不希望它是一个变量。
2024-10-24 11:35:32
153
原创 C++字符串
字符串的字面量存储在只读数据区name是一个指针,直接指向常量区,修改name[0]='H'就是修改常量区的内容,这是不允许的。编译器在栈上创建一个字符串name,把"hello"从常量区复制到name,修改name[0]='H'就相当于修改数组元素一样,是可以的。上面的00被称为空终止字符,是电脑知道字符串结束的地方。如果没有终止符,如name2,会产生乱码上面的cc实际上是一个数组守卫,让我们知道内存是在我们的分配之外。如果name2使用或者是。
2024-10-22 22:17:57
301
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1