![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 95
wayne0074
不务正业的程序猿
展开
-
#与##在define中的作用
原文链接:https://blog.csdn.net/u012814856/article/details/78658939 与##在define中的作用 “#”是把参数字符串化,“##” 是将两个参数连为一个整体。 #include <iostream> #include <cstdlib> // 测试不带 # 号的效果 #define NO_NUMB...转载 2018-08-14 14:04:12 · 233 阅读 · 0 评论 -
为什么类的静态成员要在类外初始化
在C++类的静态成员为什么要在类外初始化 首先C++的静态成员是需要初始化的(实际上需要分配一个内存,不一定需要赋值),初始化是赋一个初始值,而定义是分配内存。静态成员变量在类中仅仅是声明,没有定义,所以要在类的外面定义。 #include &lt;stdio.h&gt; class A { public: static int a; //声明但未定义 };...原创 2018-08-22 16:14:59 · 4512 阅读 · 1 评论 -
C++中的内存管理
C++的内存分配方式 在了解C++内存池之前我们要先了解C++是如何对内存进行分配的。 我们知道C++的内存存储区分为5个,分别是 静态存储区:全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初始化的,在C++里面没有这个区分了,他们共同占用同一块内存区。 堆:使用new分配的内存块。 栈:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行...原创 2018-08-26 17:40:16 · 650 阅读 · 0 评论 -
C++面试总结
本文是笔者在准备面试时对网络上一些问题进行归纳和总结,有些问题的答案篇幅较长,笔者选取了一些比较经典的答案链接供读者进行参考。 C++11的常用新特性 https://blog.csdn.net/jiange_zh/article/details/79356417 extern关键字 extern声明函数在外部定义。 extern修饰函数的时候,说明该函数在外部的某个文件内进行了声明。 ...原创 2018-08-17 16:48:56 · 197 阅读 · 0 评论 -
C++中的智能指针
为什么要引入智能指针的概念 我们来看一个例子 void remodel(std::string &amp; str) { std::string * ps = new std::string(str); ... if (weird_thing()) throw exception(); str = *ps; delete ps; ...原创 2018-08-27 15:53:46 · 174 阅读 · 0 评论