
C++
J1JJOSH
?
展开
-
【C++】智能指针
基本概念智能指针(smart pointer)事实上是一个装指针的容器,在析构时会 delete 对象,一定程度上的解决了垃圾回收的问题头文件:<memory>测试环境:操作系统:Windows 10编译器:g++.exe (x86_64-posix-sjlj-rev0, Built by MinGW-W64 project) 8.1.0shared_ptr和名称一样...原创 2020-03-21 01:20:23 · 348 阅读 · 0 评论 -
【C++】含有可变形参的函数
背景与意义有的时候我们无法提前预知应该向函数传递几个实参,为了编写能处理不同数量实参的函数,C++11 新标准提供了两种主要方法:initializer_list 类型... 省略符initializer_list 形参Reference: initializer_list,提供的操作:initializer_list<T> lst; 默认初始化:T类型元素的空列表...原创 2020-03-19 23:15:03 · 342 阅读 · 0 评论 -
【C++】类大小的计算
1 初识测试环境:操作系统:Windows 10编译器:g++.exe (x86_64-posix-sjlj-rev0, Built by MinGW-W64 project) 8.1.0本机环境测试时,指针大小为 8 字节,请读者根据实际情况自行判断。1.1 内存对齐可以使用 sizeof 或者 alignof 判断基本类型的对齐大小。但面对自定义类型的时候,前者就不行了,而后者...原创 2020-03-18 11:33:25 · 454 阅读 · 0 评论 -
【C++】virtual 与多态
1 前言The virtual keyword declares a virtual function or a virtual base class. —— virtual (C++) -Microsoft Docs从微软的这篇文档来看,virtual 用于修饰方法基类多态(Polymorphism):当用于面向对象编程的范畴时,多态性的含义是指程序能通过引用或指针的动态类型获...原创 2020-03-09 19:48:29 · 582 阅读 · 0 评论 -
【C++】const 限定符
1 前言本文对 const 各种摆放位置效果以及相关内容做一个系统性的总结2 const 的使用方法const 即 constant 的缩写,固定不变的意思,它是一个限定符2.1 const 修饰普通变量此即声明定义了一个常量const int var1 = 0; //正确,推荐 int const var2 = 0; //正确,效果一样但不推荐const int ...原创 2020-03-02 01:05:27 · 205 阅读 · 0 评论 -
【C++】输入的几种方式
1 前言输入输出挺重要,同时可以选择的方式也很多,而本文主要指出在输入输出的时候你可能遇到的一些问题,提供一些解决的方法,并补充你可能不知道的点。另外这里的输入输出主要为从键盘输入,向屏幕输出强烈建议大家先看一下这篇文章,关于几种输入方式的区别,看完之后可能就不用看这里了(笑)2 实例一般来说,关于输入的问题比较集中在输入遇到“空格”、“换行”,“如何结束”等2.1 cin 方式头文件...原创 2020-02-08 16:11:30 · 7825 阅读 · 0 评论 -
【C++】sort 的使用
【C++】sort 的使用1 前言可能涉及的 C++ 知识点有:类的构造函数,运算符的重载等2 Reference参考 std::sort ,包含在头文件 <algorithm> 中//default (1) template <class RandomAccessIterator>void sort (RandomAccessIterator first, ...原创 2020-02-06 19:11:53 · 290 阅读 · 0 评论 -
【C++】基本内置类型
前言终于决定重新啃一遍 C++ 的基础,巩固一下以前的知识,查漏补缺。关于基本内置类型,C++ 定义了一套包括算术类型(arithmetic type)和空类型(void)在内的基本数据类型以下是对 C++ Primer 书中关于基本内置类型关于算术类型以及字面值常量的一些整理。1 算术类型算术类型分为两类整型(integral type),包括字符和布尔型在内浮点型算术类型...原创 2019-04-03 02:01:00 · 2231 阅读 · 0 评论 -
【C++】关键字 explicit
摘要C++提供了关键字 explicit ,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为 explicit 的构造函数不能在隐式转换中使用跟它相对应的另一个关键字是 implicit ,意思是隐藏的,类构造函数默认情况下即声明为 implicit (隐式)浅显的理解C++中,一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数),承担了两个角色:...原创 2019-03-21 23:08:28 · 129 阅读 · 0 评论 -
【C++】默认构造函数
摘要默认构造函数(default constructor):类通过一个特殊的构造函数来控制默认初始化过程,这个函数称为默认构造函数。默认构造函数无须任何实参。合成的默认构造函数如果我们的类没有显示地定义构造函数,那么编译器就会为我们隐式地定义一个默认构造函数。这个由编译器创建的构造函数又称为合成的默认构造函数(synthesized default constructor)合成的默认构造...原创 2019-03-17 17:04:21 · 4079 阅读 · 0 评论