随笔分类 -  C/C++

摘要:[c、c++]宏中"#"和"##"的用法(zz) 宏中"#"和"##"的用法一、一般用法我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起.用法: #include<cstdio> #include<climits> using namespace std; #define STR(s) 阅读全文
posted @ 2016-07-28 00:45 _in_the_way 阅读(276) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/haoel/article/details/3081328/ 阅读全文
posted @ 2016-07-20 13:07 _in_the_way 阅读(133) 评论(0) 推荐(0)
摘要:编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。源代码-->预处理-->编译-->优化-->汇编-->链接-->可执行文件Source--(编译)--> Ass 阅读全文
posted @ 2016-07-10 10:22 _in_the_way 阅读(5966) 评论(0) 推荐(1)
摘要:我们在C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为: 例一: int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的(用三个点“…”做参数占位符),实际调用时可以有以下的 阅读全文
posted @ 2016-06-06 15:20 _in_the_way 阅读(534) 评论(0) 推荐(0)
摘要:参考资料: http://www.cnblogs.com/TenosDoIt/p/3456704.html 阅读全文
posted @ 2016-05-30 12:12 _in_the_way 阅读(124) 评论(0) 推荐(0)
摘要:C++ explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢? 如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,如下面所示: 上面的操作即是所 阅读全文
posted @ 2016-05-30 12:00 _in_the_way 阅读(177) 评论(0) 推荐(0)
摘要:堆与栈的比较:1.申请方式(1)栈(satck):由系统自动分配。(2)堆(heap):需程序员自己申请(c:调用malloc,realloc,calloc申请 free 来释放),并指明大小,并由程序员进行释放。容易产生内存泄漏. 2.申请大小的限制(1)栈:在windows下栈是向底地址扩展的数 阅读全文
posted @ 2016-05-24 19:12 _in_the_way 阅读(6112) 评论(0) 推荐(0)
摘要:一、C语言中的内存 一般认为在c中分为这几个存储区: 在函数体中定义的变量通常是在栈上, 用malloc, calloc, realloc等分配内存的函数分配得到的就是在堆上。 在所有函数体外定义的是全局量,加了static修饰符后不管在哪里都存放在全局区(静态区), 在所有函数体外定义的stati 阅读全文
posted @ 2016-05-24 18:07 _in_the_way 阅读(286) 评论(0) 推荐(0)
摘要:先来看一下string 面试时的简易写法(使用的是深拷贝): 当对string的对象不进行修改,也就是只读的时候,我们创建新对象时可以用新的string类中的char*来指向原先旧的string中字符串的起始位置,如果用深拷贝就存在内存浪费的问题,因为我们每构造出一个对象时都是重新开辟新的空间来存储 阅读全文
posted @ 2016-05-21 11:26 _in_the_way 阅读(1054) 评论(4) 推荐(0)
摘要:union 关键字(主要用来压缩空间,如果一些数据不可能同一时间同时用到,可是考虑使用union) union关键字声明的变量称之为联合体变量; (1)联合体变量只配置一个足够大的空间来容纳最大长度的数据成员, (2)联合体中的数据共享一块空间,同一时间只能存储其中的一个数据成员, (3)联合体的所 阅读全文
posted @ 2016-05-17 11:38 _in_the_way 阅读(235) 评论(0) 推荐(0)
摘要:1.void * memcpy ( void * dest, const void * src, size_t num ); 头文件:#include <string.h>memcpy() 用来复制内存,memcpy() 会复制 src 所指的内存内容的前 num 个字节到 dest 所指的内存地址 阅读全文
posted @ 2016-05-17 11:07 _in_the_way 阅读(648) 评论(0) 推荐(0)
摘要:1.strlen(字符串的长度) 2.strcpy(字符串拷贝) 3.strncpy 4.strcat(字符串连接) 5.strncat 6.strcmp 7.strncmp 阅读全文
posted @ 2016-05-15 11:57 _in_the_way 阅读(2153) 评论(0) 推荐(0)
摘要:#include #include int main() { char c, s[20]; int a=1234; float f=3.141592653589; double x=0.12345678912345678; strcpy(s, "Hello,World"); c='\x41'; ... 阅读全文
posted @ 2016-05-14 23:42 _in_the_way 阅读(1230) 评论(0) 推荐(0)