C++11~20核心特性(3)auto占位符 1. 重新定义的auto关键字 C++98标准开始, auto用来声明自动变量,并且默认就是auto, 可以不写。 // 前面的auto可以不写auto int b,c=5; C++11标准赋予了auto新的含义: ... C/C++ 2024年5月18日 428 0 0
C++11~20核心特性(2)内联和嵌套命名空间 1. 内联命名空间 C++11标准增强了命名空间的特性,提出了内联命名空间的概念。 1.1 使用方法 #include <iostream>namespace Parent { namespace Chi... C/C++ 2024年5月8日 433 0 0
C++11~20核心特性(1)新基础类型 1. 整数类型long long (c++11) 1.1 long long是一个至少为64位的整数类型 请注意这里的用词“至少”,也就说long long的实际长度可能大于64位。不过至今也没有遇到大于64位长度的long long。... C/C++ 2024年5月3日 462 0 0
C++vector push_back和emplace_back的区别 C++ STL库中,往vector末尾添加元素,一般使用push_back和emplace_back方法,那么他们有什么区别? 本文不会探讨STL源码的实现,而是从黑盒的角度,通过代码测试来分析区别。 C/C++ 2024年4月19日 703 0 0
C++ std::make_shared用途 Effective Modern C++中指出,在给智能指针std::shared_ptr初始化时,优先考虑使用std::make_shared,而非直接使用new。 总结有以下几点原因。 C/C++ 2024年4月14日 494 0 0
C++智能指针的基本实现 1. 代码实现 智能指针核心逻辑: 构造函数或者赋值时,增加或调整引用计数析构函数时,减小引用计数,如果引用计数为0,就释放内存。麻烦的地方是使用场景以及各种参数类型,要考虑全... C/C++ 2024年4月7日 459 0 0
C++多态底层原理分析 1. 什么是多态 通过一段示例代码来说明。 1.1 定义基类和子类 class Base {public: virtual void PrintTestA() {&nbs... C/C++ 2024年3月8日 472 0 0