文章分类 - C++
摘要:1.把C++当成一门新的语言学习(和C没啥关系!真的。);2.看《Thinking In C++》,不要看《C++变成死相》;3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;6.会用Visual C++,并不说明你会C++;7.学class并不难,template、STL、g
阅读全文
摘要:二级指针和二维数组 首先注意一个事实:[]是一个运算符, 称 为 下 标 运 算 符 亦 称 变 址 运 算 符 ,我觉得应该是变址取内容 *(p+n) 恒 等于 p[n]我们不能简单把指针看成地址,不要忽略掉数据类型。也就是说一个指针包含两方面,一个是地址,一个是数据类型。指针是变量,这个变量的值是个地址。变量的类型是指向一个数据类型。可能有两个指针的值一样但是他们其实是不一样的,因为他们指向的数据类型不一样,此时使用取内容符号*取得的东西就会不一样了。比如下面的a[2][3],a是个指针,a[0]也是个指针,而且这两个指针的值是一样的。但是这两个指针指向的数据类型不一样,所以使用取内容符号
阅读全文
摘要:C++操作符的优先级C++操作符的优先级操作符及其结合性 功能 用法 LLL::::::全局作用域类作用域名字空间作用域::nameclass::namenamespace::nameLLLLL.->[]()()成员选择成员选择下标函数调用类型构造object.memberpointer->membervariable[expr]name(expr_list)type(expr_list)RRRRR++--typeidtypeid显示强制类型转换后自增操作后自减操作类型ID运行时类型ID类型转换lvalue++lvalue--typeid(type)typeid(expr)cast
阅读全文
摘要:一、快速排序void qsort(int x,int y) //待排序的数据存放在a[1]..a[n]数组中 {int h=x,r=y; int m=a[(x+y)>>1]; //取中间的那个位置的值 while(hm) r--; //比中间那个位置的值大,循环直到找一个比中间那个值小的 if(hx) qsort(x,r);//注意此处,尾指针跑到前半部分了 if(h=1;j--) //相邻的两两比较 if(a[j]>a;tong[a]++;}//相应的桶号计数器加1 for(int i=1;i0) //当桶中装的树大于0,说明i出现过tong[i]次,否则没出现过i whi
阅读全文
摘要:1、确定浮点型变量和表达式是 float 型 为了让编译器产生更好的代码(比如说产生3DNow! 或SSE指令的代码),必须确定浮点型变量和表达式是 float 型的。要特别注意的是,以 ";F"; 或 ";f"; 为后缀(比如:3.14f)的浮点常量才是 float 型,否则默认是 double 型。为了避免 float 型参数自动转化为 double,请在函数声明时使用 float。2、使用32位的数据类型 编译器有很多种,但它们都包含的典型的32位类型是:int,signed,signed int,unsigned,unsigned int,lon
阅读全文
摘要:1. 总体规则:不要随意缩写;2. 宏、枚举等使用全部大写+下划线;3. 变量(含类、结构体成员变量)、文件、命名空间、存取函数等使用全部小写+下划线,类成员变量以下划线结尾,全局变量以g_开头;4. 参考现有或相近命名约定……命名约定最重要的一致性规则是命名管理,命名风格直接可以直接确定命名实体是:类型、变量、函数、常量、宏等等,无需查找实体声明,我们大脑中的模式匹配引擎依赖于这些命名规则。命名规则具有一定随意性,但相比按个人喜好命名,一致性更重要,所以不管你怎么想,规则总归是规则。1. 通用命名规则(General Naming Rules)函数命名、变量命名、文件命名应具有描述性,不要过
阅读全文
摘要:如果想要有效的管理一个稍微复杂一点的体系,针对其中事物的一套统一、带层次结构、清晰明了的命名准则就是必不可少而且非常好用的工具。活跃在生物学、化学、军队、监狱、黑社会、恐怖组织等各个领域内的大量有识先辈们都曾经无数次地以实际行动证明了以上公理的正确性。除了上帝(设它可以改变世间万物的秩序)以外,相信没人有实力对它不屑一顾。在软件开发这一高度抽象而且十分复杂的活动中,命名规则的重要性更显得尤为突出。一套定义良好并且完整的、在整个项目中统一使用的命名规范将大大提升源代码的可读性和软件的可维护性。在引入细节之前,先说明一下命名规范的整体原则:同一性在编写一个子模块或派生类的时候,要遵循其基类或整体模
阅读全文
摘要:1. 直接初始化比赋值初始化更灵活,效率更高。 如: int ival(1024); int ival = 1024; 前者效率高
阅读全文
浙公网安备 33010602011771号