C/C++
xey_csu
123
展开
-
switch case 语句
1、case:后面只能是整型,字符型号的表达式或常量。2、在case 语句中的定义变量要用{ }括起来(将该变量的作用域限制在当前case子句中),但若是最后一个case 语句可以不用加。3、最后应加上default : ..........; break; break最好不要省。4、把正常情况放在前面,而把异常情况放在后面。5、执行机率大的case 语句放在前面。原创 2013-08-18 22:33:52 · 572 阅读 · 0 评论 -
VIM 插件
1 #============================================================================= 2 转载请注明出处: http://blog.csdn.net/tge7618291 http://nuoerlz.35free.net 8 #==================转载 2014-05-03 11:01:59 · 958 阅读 · 0 评论 -
va_start()va_end()和vsnprintf()函数应用
va_start()va_end()函数应用:man: #include void va_start(va_list ap, last); type va_arg(va_list ap, type); void va_end(va_list ap); void va_copy(va_list dest, va_l转载 2014-05-01 21:10:43 · 410 阅读 · 0 评论 -
结构体字节对齐
1、32位机char 占1字节 short 占2字节 int 占4字节 long 占4字节float 占4字节double 占8字节 long long 占8字节2、结构体的对齐值N:各成员中占最大字节者字节数与用 #pragma pack(value) 的value 两者中的小者,若未用原创 2014-02-25 22:39:27 · 418 阅读 · 0 评论 -
二叉树的实现
//#include #include #include #include using namespace std;typedef char ElemType;typedef struct BiTNode {ElemType data;struct BiTNode *lchild;struct BiTNode *rchild;}BiTNode,*原创 2013-12-21 15:49:47 · 396 阅读 · 0 评论 -
VC++ 中模板声明与实现分开后出现链接错误
引用C++primer的话:C++支持两种模板编译模式包含模式Inclusion Model 和分离模式Separation Model1. 包含编译模式 在包含编译模式下我们在每个模板被实例化的文件中包含函数模板的定义并且往往把定义放在头文件中像对内联函数所做的那样2. 分离编译模式 在分离编译模式下函数模板的声明被放在头文件中 , 在模转载 2013-11-06 22:00:27 · 541 阅读 · 0 评论 -
VC编译出现ambiguous symbol的错误
VC编译出现ambiguous symbol的错误,原因是所使用的符号与库中已有的符号相冲突,解决变法是不要用 using namespace std; 使用using std::xxx;( xxx 为要用的)原创 2013-11-19 19:47:52 · 1615 阅读 · 0 评论 -
如何在C/C++中动态分配二维数组
在C/C++中动态分配二维数组可以先申请一维的指针数组,然后该数组中的每个指针再申请数组,这样就相当于二维数组了,但是这种方法会导致每行可能不相邻,从而访问效率比较低。如何申请连续的二维数组了?本文将分别三个方面讲解:一.动态申请列大小固定的二维数组二.C语言中动态申请连续的二维数组三.C++语言中动态申请连续的二维数组 一.动态申请列大小固定的二维数组转载 2013-09-01 10:24:20 · 467 阅读 · 0 评论 -
const 在C/C++中的不同
//a.c:const int i = 10;char ch[i]; //error ,i 应为常量表达式//a.cpp:const int i = 10;char ch[i] = 10; //OK说明在C中const 变量始终被当作一个变量,只不过是只读的。而在C++中等同于一个常量。原创 2013-08-18 22:55:03 · 453 阅读 · 0 评论 -
static的作用
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; // global variable转载 2013-08-18 22:20:39 · 359 阅读 · 0 评论 -
C++中的构造函数,拷贝构造函数和赋值运算
关于C++中的构造函数,拷贝构造函数和赋值运算,以前看过一篇《高质量C++/C编程指南》的文章中介绍的很清楚,网上能搜索到,如果想详细了解这方面的知识可以参看一下这篇文章。常见的给对象赋值方式有构造函数,拷贝构造函数,赋值运算符这三种方法,如下代码演示了这几种常见的方法。 A a1; A a2(a1); A a3 = a1; a3 = a2; 如果不转载 2013-08-16 19:50:32 · 546 阅读 · 0 评论 -
gets() getline() scanf() cin
gets() getline() 不会忽略输入中的空白而scanf() cin 遇到空白就结束原创 2013-08-16 19:40:45 · 402 阅读 · 0 评论 -
C语言实现函数模板
#include "stdafx.h"#define MY_GETMAX(type) \type type##GetMax(type x,type y)\{\return x > y ? x : y;\}#define CALL_GetMax(type) type##GetMaxMY_GETMAX(int);MY_GETMAX(float);原创 2013-08-16 18:20:31 · 960 阅读 · 0 评论 -
memcopy与memmove的区别
Memcopy和memmove函数在linux下看了一下两个函数的源码。两个函数都在头文件string.h中定义,函数原型为:void * __cdecl memcpy ( void * dst,const void * src,size_t count);void * __cdecl memmove ( void * dst,const void * src,size_t count转载 2013-08-16 19:47:42 · 533 阅读 · 0 评论