![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
runnerred
这个作者很懒,什么都没留下…
展开
-
C++静态成员函数访问非静态成员的几种方法
大家都知道C++中类的成员函数默认都提供了this指针,在非静态成员函数中当你调用函数的时候,编译器都会“自动”帮你把这个this指针加到函数形参里去。当然在C++灵活性下面,类还具备了静态成员和静态函数,即class A{public: static void test() { m_staticA += 1; }private:转载 2017-07-03 14:36:23 · 467 阅读 · 0 评论 -
const T、const T*、T *const、const T&、const T*& 的区别
目录(?)[+]这里的T指的是一种数据类型,可以是int、long、doule等基本数据类型,也可以是自己类型的类型class。单独的一个const你肯定知道指的是一个常量,但const与其他类型联合起来的众多变化,你是不是就糊涂了?下面我们一一来解析。const T定义一个常量,声明的同时必须进行初始化。一旦声明,这个值将不能被改变。int i = 5转载 2017-07-26 10:39:11 · 864 阅读 · 0 评论 -
constexpr关键字
constexpr是C++11新标准规定的规定的关键字。有时我们很难分辨一个初始值是不是常量表达式,当然可以定义一个 const变量并把它的初始值设为我们认为的某个常量表达式,但在实际使用时,尽管要求如此却常常发现初始值并非常量 表达式的情况。可以说,这时的对象的定义与使用根本就是两回事。C++11新标准规定,允许将变量声明为constexpr类型让编译器来验证变量的值是否是一个常转载 2017-03-23 09:22:18 · 309 阅读 · 0 评论 -
全局变量和局部变量在内存里的区别?堆和栈
全局变量和局部变量在内存里的区别?堆和栈 转:一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类转载 2017-12-21 14:23:53 · 7148 阅读 · 0 评论