![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 80
惜暮
这个作者很懒,什么都没留下…
展开
-
C++成员初始化列表
C++类成员初始化列表C++类型定义C++构造函数的初始化列表定义C++构造函数执行的两个阶段为什么使用初始化列表C++里面哪些东西必须放在初始化列表里面成员变量的初始化顺序这边文章主要学习C++里面的成员初始化列表。然后分析为什么需要成员初始化列表,C++构造器调用机制与Java区别。C++类型定义在C++里面定义一个类型(比如有默认构造器的Test类)的方式一般是:Test t1;...原创 2018-12-16 14:20:38 · 5973 阅读 · 2 评论 -
C++ inline函数
1.C++引用inline原因在我们的系统中可能经常会有一些场景:for循环调用一个工具处理函数或则是递归调用一些算法。我们知道调用一个任意函数都会为这个函数创建栈空间,如果频繁的调用小函数会消耗大量的栈空间,对内存造成很大的压力,甚至会导致内存枯竭。C++为了解决这个问题也就创造了内联函数,也就是inline。下面我们看一个使用内联函数的例子:#include <stdio.h>...原创 2018-12-10 15:53:45 · 5272 阅读 · 2 评论 -
C++中const关键字修饰
C++中const使用的地方非常多,修饰包括:全局变量、函数、函数参数等等,这篇文章主要是总结一下const各种使用的规则以及需要注意事项。原创 2018-12-10 13:31:04 · 2504 阅读 · 0 评论 -
C++11 智能指针
本文主要讲解C++11中的智能指针主要内容:原始指针使用有什么缺点(主要是资源释放、证明周期、挂起引用)C++98里面的auto_ptr有什么缺点(所有权转移问题、不能指向数组、不能与容器组合使用)C++11提出的更加智能指针: shared_ptr、weak_ptr、unique_ptr优势...原创 2018-12-15 18:16:21 · 811 阅读 · 0 评论 -
C++局部变量、全局变量的作用域及范围&动态内存管理
本文主要介绍C++中的局部变量、全局变量、以及动态内存管理的变量。本文不涉及静态变量static,所以描述的观点不包括static变量。局部变量和全局变量局部变量一般指函数内部的局部变量,这部分的变量保存在栈里面,当函数调用结束,这些局部变量就会被自动释放。可以说这部分变量是系统自动管理的全局变量或则是file scope的变量。这部分变量存储在 全局/静态存储区,这部分变量的作用域是从...原创 2018-12-09 17:46:28 · 4644 阅读 · 0 评论 -
C++函数传值方式
本文主要分析C++里面两大类函数传参方式:传值和传址(传引用和传指针)1.传值我们知道当我们调用一个函数时,OS会在内存中为这个函数建立起一块程序栈帧,这个栈帧提供了函数参数的存储空间。对于传值这种方式,实际上是将函数参数进行了一次copy,传递到函数的实际上是变量的一个副本。在函数内部对参数进行的update不会影响到原本函数外的参数的值。比如以下代码段:#include &lt;...原创 2018-12-09 17:03:11 · 2647 阅读 · 0 评论 -
C++ explicit关键字:禁止隐式转换
explicit关键字是用来防止由构造函数定义的隐式转换。要明白这个关键字的含义,首先我们要知道class类型的对象的隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。比如:class SomeBody{public: SomeBody(const std::string& name =""): m_name(nam...转载 2018-12-18 19:17:58 · 5402 阅读 · 0 评论