![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
hanxp001
not complicated
展开
-
linux,##args,g++ -E,nm...
1、g++ -E 单独执行待编译阶段,eg :g++ -E yuan.cpp > out.cpp 可查看里面的out.cpp待编译内容。2、nm -C将低级符号名解码(demangle)成用户级名字, eg:nm -C out.o,可以更容易的查看里面的目标问题内容。3、宏简单的替换,看如下代码:#define test(a,b) a * b int main(){ int n = 10; test(int ,a) = &n...原创 2020-10-14 23:15:18 · 660 阅读 · 0 评论 -
关于static和extern在c/c++的头文件定义全局变量的用法说明
只说关于在头文件中的使用:1、static定义变量假如放在头文件中:eg:static int g_num = 100;那么定义的变量只在当前引用它头文件的源文件中生效,各个引用它头文件的源文件使用相关独立,不存在交集。即:如果在一个头文件中声明:static intg_num= 100;那么会为每个包含该头文件的cpp都创建一个全局变量,但他们都是独立的.但是这种方法不常用,也不推荐。因为这样写意味着保护该头文件的所有源文件都包含了一个同名但不同作用域的变量,使用不明...原创 2020-08-31 00:26:09 · 669 阅读 · 0 评论 -
C++中的静态成员函数与静态数据成员、非静态数据成员、非静态成员函数间的调用关系
C++中这三类关系如下: 首先要明白:静态成员函数是可以调用非静态数据成员的,具体怎么调用,看下面。class A{public: static void fun ( A a ) { cout << b <<endl;(错误) cout <&l...原创 2019-05-04 02:55:21 · 1778 阅读 · 0 评论 -
static_cast、const_cast、reinterpret_cast、dynamic_cast的应用范围与区别
(1)static_cast: 它是一种主要用在基本类型转换和类类型转换之间。但是它们又有区别,具体看下面的例子:基本类型转换: 大家都知道在基本数据类型转换的时候,高类型数据转低类型数据其实就是隐式转换,也是安全的,为什么呢?因为没有丢失精度,比如float a =1.234,转换成int b =a;,对于整型的int b 来说完全ok,因为没有任何损失,...原创 2019-05-06 01:31:36 · 1085 阅读 · 0 评论 -
常见的内存问题导致的程序出错情况
情况如下: 1、使用前是否内存申请成功?请使用返回值去确定。 2、准备使用是否未初始化?请用最简单的0去初始化,有些内存默认初始化,但是最后自己确保万无一失。 3、使用时是否超过了自己申请的内存范围?-------->即越界。 4、使用完是否释放?------->导致的内存泄漏问题。 5、释放完后...原创 2019-05-10 03:12:46 · 534 阅读 · 0 评论 -
泛型程序设计概念&使用方式
1、概念: 简述:泛型程序设计其实就是编写的程序他不依赖具体的数据类型。 思想:主要是把具体的算法从特定的一些数据结构剥离抽象出来,使这种算法可以在任何数据类型中通用,不仅仅是基本数据类型,自定义类型等。 优点:不需要再对不同的数据类型或者容器进行操作运算时编写一套同样的算法,当对不同类模板进行重写或者修改扩充时也不需要再重写大量的算法函数,极大的提高了软...原创 2019-05-08 04:30:50 · 762 阅读 · 0 评论 -
C/C++中面试提问需要注意的一些小东西
........1、int *p =new int(5);给p指针对应的地址里面存放值为5。 int *p =new int[5];动态申请一个长度为5的数组,里面的值不确定。2、vector不是一个类,而是一个类模板。3、在派生类中如果需要显示调用基类的构造函数进行初始化时,则表明基类存在带有参数的构造函数,如果基类是无参构造函数,那么不需要再派生类中显示的调用,系统默...原创 2019-08-22 21:43:53 · 233 阅读 · 0 评论 -
宽字节、多字节、ANSI、UTF-8、unicode、GBK、之间的关系以及ANSI与UTF-8的相关转换
一、简单明了的说下这些区别和关系,网上说的太繁琐、或者太单一。宽字节:通常用两个字节表示一个字符,对应的就是Unicode。多字节:用多个字节表示一个字符,对应的就是ANSI。ANSI:他的产生源于ASCII字符集,最开始7个bits,总共代表了128个字符,包括英文、字母、数字、和一些特殊字符。后面由于各个国家为了彰显自己的本土语音,进行了扩充,产生了GB2312, BIG5, J...原创 2019-09-16 23:51:38 · 2195 阅读 · 0 评论