文章 2024-10-08 来自:开发者社区

【C++】C++特性揭秘:引用与内联函数 | auto关键字与for循环 | 指针空值(二)

【C++】C++特性揭秘:引用与内联函数 | auto关键字与for循环 | 指针空值(一)https://developer.aliyun.com/article/1617290 三、auto关键字(C++11) 3.1 类型别名思考 由于程序中使用到的类型也越来越复杂,导致了类型难于拼写,含义不明确导致容易出错。 比如:std::map::iterator类型...

【C++】C++特性揭秘:引用与内联函数 | auto关键字与for循环 | 指针空值(二)
文章 2024-10-08 来自:开发者社区

【C++】C++特性揭秘:引用与内联函数 | auto关键字与for循环 | 指针空值(一)

一、引用 1.1 引用概念 引用不是用于新定义变量,而是对已存在变量取别名。对于引用变量来说,编译器不会为其开辟空间(底层实际开辟),它与被引用变量共同占用同块内存空间 举个例子:李逵,在家称为"铁牛",江湖上人称"黑旋风"。这三个名称都是指向同个对象 1.2 引用语法...

【C++】C++特性揭秘:引用与内联函数 | auto关键字与for循环 | 指针空值(一)
文章 2024-08-19 来自:开发者社区

C++新特性-智能指针

std::weak_ptr std::weak_ptr是一种弱引用,它不能单独使用,设计之初是为了配合std::shared_ptr,解决后者设计上存在的问题。 使用注意: 不能直接指向原始指针:std::weak_ptr<int> wp (new int); 只能指向std::shared_ptr对象或者std::...

文章 2024-01-30 来自:开发者社区

C++特性——auto关键字、范围for、指针空值nullptr

1. auto关键字在写代码时,我们常常会遇到定义变量时变量的类型名太长的情况,例如:namespace lwj { struct Stack { Stack() { _a = nullptr; _top = 0; } int* _a; int _top; }; } int main() { lwj :: Stack...

文章 2024-01-30 来自:开发者社区

C++特性——引用与指针详解

引用简单来说,引用就是给一个变量起一个别名。例如:int a = 1; int& b = a;对于上面的代码,我们就说b是a的别名,我们可以看看b和a的地址:我们可以发现,别名b和a共用一块地址,不会开辟新的空间,我们可以将下面三段代码进行比较://代码一 int a = 1; int& b = a; //代码二 int a = 1; int b = a; //代码三 int a....

C++特性——引用与指针详解
文章 2024-01-09 来自:开发者社区

c++11新特性——智能指针详解

智能指针:一、解决了什么问题内存泄漏:在未使用智能指针时,我们在堆上malloc申请一段内存或者new一个对象,如果忘记释放就会造成内存泄漏;指针共享所有权的传递和释放,比如:多线程同时使用同一个对象时的析构问题。使用普通指针,容易造成内存泄露(忘记释放)、二次释放、程序发生异常时内存泄露等问题等。二、C++11 智能指针std::auto_ptr : 已被c++11废弃std::unique_....

c++11新特性——智能指针详解
文章 2023-11-13 来自:开发者社区

C++新特性:智能指针

一 、为什么需要智能指针智能指针主要解决以下问题:1)内存泄漏:内存手动释放,使用智能指针可以自动释放2)共享所有权指针的传播和释放,比如多线程使用同一个对象时析构问题,例如同样的数据帧,但是业务A和业务B处理的逻辑不一样(都是只读)。可以用shared_ptr共享数据帧对象的所有权。线程A释放的时候,shared_ptr的引用计数count - 1,当为0的时候释放数据帧对象指针。主要类型:C....

C++新特性:智能指针

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注