排序
C++函数中return语句的使用方法
c++ #include是怎么样工作的?
可能不太熟悉,也有可能没有去关心过。我们只关心程序能否正确运行,或者程序怎么实现等等一些问题。 这里笔者就为介绍下我们熟悉又不太熟悉的“#include”,首先我们了解下C/C++头文件。 头文...
c++ 尽量不要使用#define 而是用const、enum、inline替换。
例如:这里程序文件开头有如下#define语句 #define N 10 #define PI 3.14 #define MAX 10000 #define Heigth 6.65 ... ... 假设这里程序运行出错误,而且就是在我们使用这些常量有错误,此时编...
c++ std::invalid_argument应用
首先说明invalid_argument是一个类(class invalid_argument;),它的继承关系如下 exception-------->logic_error--------->invalid_argument invalid_argument原型是 class invalid_arg...
c++ 成员函数与非成员函数的抉择
1.尽量用类的非成员函数以及友元函数替换类的成员函数 例如一个类来模拟人People 1 class People{ 2 public: 3 ... 4 void Getup( ); 5 void Washing( ); 6 void eating( ); 7 ... 8 } 其实上面...
C++你可能不知道地方小结
下面详细介绍 一、初始化与初始赋值 首先说说类的初始化与初始赋值之前的区别,这也许里面可能有我们不知道的事情。 其实类初始化与初始赋值还是有区别的。 class People{ public: People(std::...
C语言安全编码之数值中的sizeof操作符
通常来说获取数组的长度时不要对指针应用sizeof操作符。 现来看看下面这段代码: 1 2 3 4 5 6 7 8 9 10 void clear(int array[]) { for(size_t i = 0; i < sizeof(array) / sizeof(array...
成员初始化列表与构造函数体中的区别详细解析
无论是在构造函数初始化列表中初始化成员,还是在构造函数体中对它们赋值,最终结果是相同的。不同之处在于,使用构造函数初始化列表的版本初始化数据成员,没有定义初始化列表的构造函数版本在...
深入分析C++中声明与定义的区别
声明是将一个名称引入程序。定义提供了一个实体在程序中的唯一描述。声明和定义有时是同时存在的。 1 2 3 如int a; extern int b=1; 只有当extern中不存在初始化式是才是声明。其他情况既是定义...
如何使用VC库函数中的快速排序函数
函数原型: void qsort(void *base,size_t num,size_t width, int (__cdecl *compare )(const void *, const void *) ); 第一个是数组地址,第二是数组大小,第三个是数组中每个元素的字节数,...