文章分类 -  C/C++

摘要:main.c :10:2 warning: no newline at the end of file修复这个警告,在文件结尾回车一下就行了。可以很少会有人去仔细探究,为什么gcc会给出这么一个警告?原因其实也很简单,因为标准规定如此。C99第5.1.1.2节这样写道:Each instance o... 阅读全文
posted @ 2015-07-02 17:52 jasononline 阅读(188) 评论(0) 推荐(0)
摘要:头文件time.h@函数名称: localtime函数原型: struct tm *localtime(const time_t *timer)函数功能: 返回一个以tm结构表达的机器时间信息函数返回: 以tm结构表达的时间,结构tm定义如下:[cpp]view plaincopys... 阅读全文
posted @ 2015-03-29 22:09 jasononline 阅读(337) 评论(0) 推荐(0)
摘要:默认参数在函数参数较多时是非常有用的.可以只传必须的值,其它取默认值.使用方法如下:1.默认参数是严格按照从左至右的顺序使用所以只有如下使用才是合法的(1)参数全部为默认值. void Fun( int a = 1, int b = 2, int c = 3)(2)void Fun(int a , ... 阅读全文
posted @ 2015-03-29 15:42 jasononline 阅读(1004) 评论(0) 推荐(0)
摘要:1、普通的变量:一般不考虑啥效率的情况下可以在构造函数中进行赋值。考虑一下效率的可以再构造函数的初始化列表中进行。class CA{public:int data;……public:CA();……};CA::CA():data(0)//……#1……初始化列表方式{//data = 0;//……#1…... 阅读全文
posted @ 2015-03-16 11:58 jasononline 阅读(1298) 评论(0) 推荐(0)
摘要:一个空类class A{};的大小为什么是1,因为如果不是1,当定义这个类的对象数组时候A objects[5]; objects[0]和objects[1]就在同一个地址处,就无法区分。单继承#includeusing namespace std;class A{public: virtua... 阅读全文
posted @ 2015-03-16 11:33 jasononline 阅读(113) 评论(0) 推荐(0)
摘要:在很多时候我们都很清楚 atoX 系列函数: atoi , atol , atof新来的一系列函数: strtol, strtoul, strtod通常有如下的关系:1. 对应关系其中: atoi (把字符串转到整形) --对应-- strtol (把字符串转到长整形) a... 阅读全文
posted @ 2015-03-08 18:07 jasononline 阅读(138) 评论(0) 推荐(0)
摘要:map简介 map是STL的一个关联容器(associativecontainer)之一,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内... 阅读全文
posted @ 2015-03-06 22:28 jasononline 阅读(671) 评论(0) 推荐(0)
摘要:交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。基本思想1.冒泡排序算法的过程:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结... 阅读全文
posted @ 2015-03-06 22:22 jasononline 阅读(110) 评论(0) 推荐(0)
摘要:关于extern “C”的作用和意思,网上资料已经有很多了(我也参考了几篇),不过我还是觉得有必要自己总结一下,毕竟“好记性不如烂笔头”嘛~~ 到C标准函数库的头文件里看看,一般会经常看见有如下宏定义(除非你从来没有查看类似printf函数在头文件中的定义,就另当别论了:-()[cpp]vie... 阅读全文
posted @ 2015-03-05 23:01 jasononline 阅读(173) 评论(0) 推荐(0)
摘要:先看一个空的类占多少空间?[cpp]view plaincopyclassBase{public:Base();~Base();}; 注意到我这里显示声明了构造跟析构,但是sizeof(Base)的结果是1. 因为一个空类也要实例化,所谓类的实例化就是在内存中分配一块地址,每个实例在内存中都有独一无... 阅读全文
posted @ 2015-03-05 22:51 jasononline 阅读(4248) 评论(0) 推荐(0)
摘要:C语言标准库函数原型声明:extern char *strcpy(char *dest,char *src);头文件:string.h功能:把src所指由NULL结束的字符串复制到dest所指的数组中。说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指... 阅读全文
posted @ 2015-03-05 22:27 jasononline 阅读(359) 评论(0) 推荐(0)
摘要:堆和栈的比较:1,申请方式 stack: 由系统自动分配。 例如,声明在函数中一个局部变量 int b; 系统自动在栈中为b开辟空间。 heap: 需要程序员自己申请,并指明大小,在C中malloc函数,C++中是new运算符。 如p1 = (char *)malloc(10); p1 = n... 阅读全文
posted @ 2015-03-05 21:37 jasononline 阅读(168) 评论(0) 推荐(0)
摘要:对于以下代码:[cpp]view plaincopymy_container.erase(iter); 其中my_container是STL的某种容器,iter是指向这个容器中某个元素的迭代器。如果不是在for,while循环中, 这种方式删除元素没有问题,如果是在for,while中对m_cont... 阅读全文
posted @ 2015-01-13 16:38 jasononline 阅读(324) 评论(0) 推荐(0)