随笔分类 -  C++

摘要:注 这篇文章已经转移,请参考:https://blog.csdn.net/code_peak/article/details/119722167 前言 C里面的四个智能指针: auto_ptr, unique_ptr,shared_ptr, weak_ptr 其中后三个是C11支持,并且第一个已经被 阅读全文
posted @ 2019-09-02 00:55 WindSun 阅读(93307) 评论(4) 推荐(19)
摘要:基本理解 extern放在变量或者函数之前,表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 extern有两个作用 1.当它与"C"一起连用时,如: extern "C" void fun(int a, int b);告诉编译器在编译fun这个函数名时按着C 阅读全文
posted @ 2019-08-30 12:58 WindSun 阅读(22019) 评论(0) 推荐(4)
摘要:全局静态变量 全局变量前加上关键字static,全局变量就定义成一个全局静态变量.,全局静态变量存储在静态存储区,在整个程序运行期间一直存在。全局静态变量在程序运行之前就存在。 初始化:未经初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显式初始化)。 作用域:全局静态变量在声 阅读全文
posted @ 2019-08-30 12:57 WindSun 阅读(1868) 评论(0) 推荐(0)
摘要:const关键字 被const修饰的变量是不能改变的 const修饰变量时,必须在声明变量的同时给出初始化(类中的const成员变量不一样) 顶层const与底层const 顶层const 定义为变量本身是一个常量,因此对一切的内置类型常量而言,所有的const都是顶层const 对指针来说,常量指 阅读全文
posted @ 2019-08-30 12:57 WindSun 阅读(779) 评论(0) 推荐(0)
摘要:const与 define的区别 编译器处理方式不同 define宏是在预处理阶段展开。 补充:预处理器根据以 开头的命令,修改原始的程序。比如我们常见的 include 命令告诉处理器读取系统头文件stdio.h的内容,并把它直接插入程序文本中。咱们的 define也是,仅仅是单纯的文本替换。 c 阅读全文
posted @ 2019-08-30 12:55 WindSun 阅读(1305) 评论(1) 推荐(0)
摘要:static\_cast 相当于C语言中的强制转换:(类型)表达式或类型(表达式),用于各种隐式转换 非const转const、void\ 转指针、int和char相互转换 用于基类和子类之间的 指针和引用 转换,非指针直接报错 向上转化是安全的,如果向下转能(指针或引用)成功但是不安全,结果未知; 阅读全文
posted @ 2019-08-30 12:55 WindSun 阅读(1446) 评论(0) 推荐(0)
摘要:1.变量 首先最重要的,variable的定义,当你申明一个变量的时候,计算机会将指定的一块内存空间和变量名进行绑定;这个定义很简单,但其实很抽象,例如:int x = 5; 这是一句最简单的变量赋值语句了, 将5赋值于名字叫做x的内存空间,其本质是将值5赋值到一块内存空间,而这个内存空间名叫做x。 阅读全文
posted @ 2019-08-30 12:54 WindSun 阅读(9820) 评论(0) 推荐(4)
摘要:为什么析构函数要声明成virtual呢? 因为,如果delete一个基类的指针时, 如果它指向的是一个子类的对象,那么析构函数不为虚就会导致无法调用子类析构函数,从而导致资源泄露。 如果一个类要被使用成 多态 的,那么这个 virtual是必须 的。比如: delete pa 实际上相当于: 释放p 阅读全文
posted @ 2019-08-30 12:51 WindSun 阅读(1328) 评论(0) 推荐(0)
摘要:以String类为例实现其成员函数 阅读全文
posted @ 2019-08-30 12:41 WindSun 阅读(353) 评论(0) 推荐(0)
摘要:代码中的family_##who表示以family_为前缀,将who为后缀与前缀连接,合成一个名字 参数前面的#使用来取参数的实值,ADD(1,200)运行结果为201 阅读全文
posted @ 2019-08-24 16:38 WindSun 阅读(2008) 评论(0) 推荐(0)
摘要:在Linux下编译C++11 #include int main() { auto a=10; cout(); vector iv; auto ite = iv.begin(); auto p = new foo() // 对自定义类型进行类型推导 auto不光有以上的应用,它在模板中也是大显身手,比如下例这个加工产品的例子中,如果不使用auto就必须声明Product这一模... 阅读全文
posted @ 2019-08-11 20:46 WindSun 阅读(778) 评论(0) 推荐(0)
摘要:继承 继承的一般形式 子类继承父类,是全盘继承,将父类所有的东西都继承给子类,除了父类的生死,就是父类的构造和析构是不能继承的。 继承的访问权限从两方面看: 1.对象:对象只能直接访问类中公有方法和成员。 2.继承的子类 私有继承就终止了父类再往下继承的能力 c++默认继承为私有继承 像以下程序 class D :public B1 ,public B2,public B3 公有继承B1,B2... 阅读全文
posted @ 2019-08-11 17:52 WindSun 阅读(1761) 评论(0) 推荐(0)
摘要:前言 如果向要在一个文件中使用另一个文件中的变量,不能在头文件中定义全局变量,因为被多个文件包含后会导致编译出错,并且静态的static变量,只能在本文件内使用,这时候就可以使用extern关键字。 extern 关键字: 首先还是先看一下 extern 关键字的作用:extern关键字可以置于变量 阅读全文
posted @ 2019-08-11 10:43 WindSun 阅读(2233) 评论(0) 推荐(0)
摘要:内存模型图 32位CPU可寻址4G线性空间,每个进程都有各自独立的4G逻辑地址,其中0~3G是用户态空间,3~4G是内核空间,不同进程相同的逻辑地址会映射到不同的物理地址中。其逻辑地址其划分如下: 各个段说明如下: 3G用户空间和1G内核空间 静态区域: text segment(代码段):包括只读 阅读全文
posted @ 2019-08-09 17:58 WindSun 阅读(6706) 评论(0) 推荐(2)
摘要:类的基本成员函数 一个类包含:构造、析构、拷贝构造、赋值构造、常对象取地址、普通对象取地址基本函数 类中的const方法与普通方法 void fun() const和void fun()是可以共存的 如果不加const 加了const 1.因为函数后加了const就封锁了*this 为常量,就不能通 阅读全文
posted @ 2019-08-08 23:14 WindSun 阅读(749) 评论(0) 推荐(0)
摘要:TinyXML介绍 最近做一个负载均衡的小项目,需要解析xml配置文件,用到了TinyXML,感觉使用起来很容易,给出一个使用TinyXML进行XML解析的简单例子,很多复杂的应用都可以基于本例子的方法来完成。 TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历... 阅读全文
posted @ 2019-08-02 22:24 WindSun 阅读(9674) 评论(0) 推荐(1)
摘要:指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。所有指针在32位上都是4个字节,在64位系统是8个字节。 为什么要用指针 1)指针的使用 阅读全文
posted @ 2019-08-01 00:54 WindSun 阅读(307) 评论(0) 推荐(0)
摘要:Lambda函数 C++11新增了lambda函数,其基本格式如下 1 [捕捉列表] (参数) mutable -> 返回值类型 {函数体} 1 [捕捉列表] (参数) mutable -> 返回值类型 {函数体} 1 [捕捉列表] (参数) mutable -> 返回值类型 {函数体} 1 [捕捉 阅读全文
posted @ 2019-07-13 22:01 WindSun 阅读(15417) 评论(0) 推荐(2)
摘要:下载VSCode https://code.visualstudio.com/Download 在扩展里安装C/C++插件 https://code.visualstudio.com/Download 在扩展里安装C/C++插件 https://code.visualstudio.com/Downl 阅读全文
posted @ 2019-04-03 17:57 WindSun 阅读(691) 评论(0) 推荐(0)
摘要:通过对VC版本的auto_ptr的源代码得知VC版本还有一点小缺陷,又对VS版本的auto_ptr做了一些剖析,具体代码和注释如下: 测试代码: 运行结果: 101020 阅读全文
posted @ 2019-02-22 23:28 WindSun 阅读(359) 评论(0) 推荐(0)

博客已停更,文章已转移,点击访问