C++
文章平均质量分 87
深入挖掘C++。
易ლ拉罐
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C++】C++11中左值和右值
C++中的值类别与移动语义摘要:C++表达式分为左值、右值和将亡值三种值类别,分别对应不同的引用类型。左值具有持久存储位置,右值包括临时对象和字面量。C++11引入右值引用(&&)支持移动语义,通过移动构造函数和移动赋值运算符实现资源转移,避免不必要的深拷贝。移动构造用于创建新对象时的资源转移,移动赋值用于已有对象的资源转移。完美转发(std::forward)保持参数值类别,与std::move不同。右值引用主要解决了资源转移效率问题,通过移动语义避免了容器等对象的深拷贝操作,提升了程序性原创 2025-08-19 13:25:39 · 716 阅读 · 0 评论 -
【C++】构造函数和析构函数
构造函数是特殊的公有成员函数(但不是只是公有成员函数,在特殊用途中构造函数的访问限定可以定义为私有或保护)。函数名称与类同名:构造函数名称必须与类名严格一致。无返回值类型:无需声明返回类型(是没有返回类型,而不是void),实际上构造函数有返回值,返回值就是构造函数所创建的对象。在程序运行时,当新的对象被建立,该对象所属的类构造函数自动被调用,在该对象的生存周期中也只调用这一次。原创 2025-08-05 16:04:15 · 1119 阅读 · 0 评论 -
【C++】封装,this指针
C++封装机制是面向对象编程的核心特性,通过访问控制修饰符(private/protected/public)实现数据和方法的捆绑。封装将数据成员私有化,通过公有成员函数提供可控访问接口,隐藏内部实现细节。类作为抽象模板定义属性和行为,对象作为实例占用实际内存。成员函数通过作用域解析运算符"::"定义,可访问类的所有成员。this指针机制使不同对象共享同一份成员函数代码,通过隐式参数区分调用对象。静态成员不属于对象,存储在数据区。封装提高了代码安全性和可维护性,体现了信息隐藏的编程思想。原创 2025-08-03 20:46:27 · 1051 阅读 · 0 评论 -
【C++】面向对象编程
面向过程编程(如C语言)采用自顶向下、模块化的设计思想,通过函数实现功能,数据与函数分离。面向对象编程(如C++)则将现实实体抽象为类,封装属性和方法,实例化为对象。面向对象具有封装性、继承性等优点,提高了代码复用性和可维护性。两种范式各有特点,选择取决于具体需求。原创 2025-08-03 18:32:28 · 233 阅读 · 0 评论 -
【C++】New和Malloc
本文比较了C++中new运算符和malloc函数的内存管理机制。new既是关键字又是运算符,可以自动计算内存大小并支持初始化,失败时抛出异常。malloc则是函数,需要手动计算大小且不初始化,失败返回NULL。new通过delete释放,malloc通过free释放。文章还介绍了定位new的特殊用法,它能在指定地址构造对象,适用于内存池等场景。两者的核心区别在于:new是类型安全的运算符,能自动处理构造/析构;malloc是原始的内存分配函数,需要更多手动管理。原创 2025-07-25 11:09:16 · 655 阅读 · 0 评论 -
【C++】函数模板、命名空间
使用namespace。原创 2025-07-21 13:42:22 · 353 阅读 · 0 评论 -
【C++】入门阶段
const T*:内容只读,指针可变。T* const:指针只读,内容可变。:指针和内容均为只读。原创 2025-07-19 17:30:10 · 1011 阅读 · 0 评论
分享