随笔分类 -  c++

在这里将记录我认为对我来说,关于c++还比较陌生的东西!
 
C++类构造函数初始化列表(转)
摘要:构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。例如: { public: int a; float b; //构造函数初始化列表 CExample(): a(0),b(8.8) {} //构造函数内部赋值 CExample() { a= 阅读全文
posted @ 2018-11-08 20:34 都是一家人 阅读(209) 评论(0) 推荐(0)
C++四种类型之间的转换
摘要:C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a。 C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 const_cast,字面上理解就是去const属性。 static_cast,命名上理解是静态类型转换。如int转换 阅读全文
posted @ 2018-04-21 10:18 都是一家人 阅读(5575) 评论(0) 推荐(1)
内存布局:栈,堆,BSS段(静态区),代码段,数据段
摘要:简介 我们程序运行的时候都是放在内存里的、根据静态、成员函数、代码段、对象、等等、放在不同的内存分块里、大概分为5块 1 栈 2 堆 3 BSS段-全局区-(静态区) 4 代码段 5 数据段 栈 存放局部变量、临时变量、声明、返回值、指向堆对象的地址(指针)、总之存放一些小的东西、当不需要时候、栈会 阅读全文
posted @ 2018-04-19 17:49 都是一家人 阅读(4478) 评论(1) 推荐(0)
PIC和PIE
摘要:PIC指的是位置无关代码,用于生成位置无关的共享库,所谓位置无关,指的是共享库的代码断是只读的,存放在代码段,多个进程可同时公用这份代码段而不需要拷贝副本。库中的变量(全局变量和静态变量)通过GOT表访问,而库中的函数,通过PLT->GOT->函数位置进行访问。Linux下编译共享库时,必须加上-f 阅读全文
posted @ 2018-04-17 18:17 都是一家人 阅读(918) 评论(0) 推荐(0)
static关键字(修饰函数、局部变量、全局变量)
摘要:在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c 阅读全文
posted @ 2018-04-13 10:59 都是一家人 阅读(3902) 评论(0) 推荐(0)
GNU C的定义长度为0的数组
摘要:在标准C和C++中,长度为0的数组是被禁止使用的。不过在GNU C中,存在一个非常奇怪的用法,那就是长度为0的数组,比如Array[0];很多人可能觉得不可思议,长度为0的数组是没有什么意义的,不过在这儿,它表示的完全是另外的一层意思,这个特性是不可移植的,所以,如果你致力于编写可移植,或者是稍稍需 阅读全文
posted @ 2018-04-12 14:57 都是一家人 阅读(287) 评论(0) 推荐(0)
关于makefile的生成原理以及make相关命令的使用
摘要:一、生成configure过程中各文件之间的关系图 二、详细介绍 autoscan: 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。 aclocal:根据已经安装的宏,用户定义宏和acinclude.m 阅读全文
posted @ 2018-04-11 20:21 都是一家人 阅读(1308) 评论(0) 推荐(0)
c++异常处理
摘要:c++异常处理,以前学生阶段在最开始学习c++的时候,感觉真的好陌生,怎么理解都不明白,后来在工作中,再次遇到这种问题,决定写篇博客记录一下; 注意是介绍,以及使用,关于底层怎么实现我并不关心,也没有精力去做这些事情; 记住一点,exception这个类,是所有异常的最根本的来源; 参考:www.c 阅读全文
posted @ 2016-08-28 10:57 都是一家人 阅读(292) 评论(0) 推荐(0)