06 2012 档案
摘要:目录结构体类﹡类 -- 访问修饰符﹡类 -- 成员函数﹡类 -- 成员变量﹡类 -- 操作符重载﹡类 -- 友元类﹡类 -- 抽象类﹡类 -- 例程(匿名对象的调用,函数对象,单例模式)(本章节中例子都是用 VS2005 编译调试的)结构体声明形式:struct 结构体名{ 成员声明; 成员函数声明;};定义:在c++允许声明结构体变量时省关键字struct(struct inflatable goose等价于inflatable goose)成员访问修饰符:privateprotectedpublic说明:结构体可以拥有成员函数,可以拥有析构函数和构造函数,但是默认访问权限是public..
阅读全文
摘要:目录 变量存储说明符与限定符(const,static,extern,auto,mutable) 类型转换(const_cast,static_cast,dynamic_cast,reinterpret_cast) (本章节中例子都是用 VS2005 编译调试的)变量存储说明符与限定符[auto][static][register][extern][mutable][volafile][const作用][const的使用]auto 动态存储(默认)特点:自动变量的作用域仅限于定义该变量的个体内.在函数中定义的自动变量,只要在函数内有效,在复合语句中的自动变量,只在复合语句内有效自动变量属于动.
阅读全文
摘要:1.- DRY: Don’t repeat yourself.DRY是一个最简单的法则,也是最容易被理解的。但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事)。它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象出来形一个唯一的新方法,并且改变现有的地方的代码让他们以一些合适的参数调用这个新的方法。DRY这一法则可能是编程届中最通用的法则了,目前为止,应该没有哪个程序员对这一法则存有异议。但是,我们却能发现,一些程序在编写单元测试(unit testing)时忘记了这一法则:让我们相像一下,当你改变一个类的若干
阅读全文
摘要:在Stack Overflow上有这样的一个贴子《What’s your most controversial programming opinion?》,翻译成中文就是“你认为最有争议的编程观点是什么?”,不过,在400多个主回贴,以及千把个子回贴中,好像并不是很有争议,而是令人相当的茅塞顿开,下面罗列一些,并通过我自己的经历和理解发挥了一些,希望对你有帮助1) The only “best practice” you should be using all the time is “Use Your Brain”.唯一的“Best Practice”并不是使用各种各样被前人总结过的各种设计
阅读全文
摘要:每个人都熟悉这种作息规律:早上9点去上班,坐在电脑前面,编一天的程序,下午5点下班回家。如今,非常感谢蒂莫西·费里斯 (Timothy Ferriss)的《每周工作4小时》,我开始重新思考应该如何工作,如何让自己变成更有效率的程序员。最近,我把我的从周一到周五的作息规律做了一次较大的调整。很长时间以来,我一直像所有其他程序员那样工作、休息。但就在2011年的下半年,我开始了一项试验,想看看究竟什么样的作息时间能让我更有效率。这项实验目前仍在进行中,我并不是像军人那样严格遵守实验规定——例如,我也想会早20分钟、或晚20分钟起床——但当前制定的作息规律是这样的:早上4:30 到 7 点
阅读全文
摘要:目录函数命名空间(本章节中例子都是用 VS2005 编译调试的)函数[格式][返回值][参数][可变参数][内联函数][函数重载]格式:返回类型 函数名 (函数参数类型 函数参数, ....){ 函数体(执行部分)}//如果没有形参可以直接在函数名后面加()或者 (void)返回值说明:有返回值函数:必须使用return语句并加上返回类型的返回值,且遇到第一个return语句函数就结束,在函数执行完后,语句中的函数调用处将被替换为返回值其返回值值必须为返回类型或可转为返回类型的类型,且不可为函数内部变量因为内部变量会在函数结束时候释放空间,但可用new来开辟变量然后返回出去若返回值为地址,在.
阅读全文
摘要:目录有关头文件有关语法有关内存分配与编译(本章节中例子都是用 VS2005 编译调试的)有关头文件C++头文件命名约定:c++旧式风格 以.h结尾 iostream.h c++可以 c旧式风格 以.h结尾 math.h 同上 c++新式风格 没有扩展名 iostream c++可以使用命名空间 转换后c 加上前缀c无扩展名cmath 同上定义头文件时候注意:当文件用尖括号包含时从一个或多个系统文件中找,用双引号包含时,应在当前目录查找,头文件不区分大小写头文件应该包含内容:函数原型 使用define或const定义的符号...
阅读全文
摘要:传统C++#include //设定插入点#include //字符处理#include //定义错误码#include //浮点数处理#include //文件输入/输出#include //参数化输入/输出#include //数据流输入/输出#include //定义各种数据类型最值常量#include //定义本地化函数#include //定义数学函数#include //定义输入/输出函数#include //定义杂项函数及内存分配函数#include //字符串处理#include //基于数组的输入/...
阅读全文
摘要:目录宏其他预处理(本章节中例子都是用 VS2005 编译调试的)宏[不带参数的宏][带参数的宏][#运算符][##运算符][取消宏定义][预定义宏]不带参数的宏 -----------------------------------------------------形式:#define 宏名称 替换主体注意:替换主体中可以有空格空格不是替换主体的一部分(这也很好理解,因为编程的时候执行语句也一般是忽视中间的空格的就好比 a = 3; 与 a=3;是等价的一样 ),例如 #define SIX 2 *3 (等价于 #define SIX 2*3)但是替换主体的内容还是要遵照一定的...
阅读全文
摘要:目录循环语句选择语句(本章节中例子都是用 VS2005 编译调试的)注意:在循环语句的循环条件和判断语句的判断条件的逻辑表达式当中要对判断两个数是否相等的时候应该把常量放在等号的左边 ,因为 常量=变量 在c++语言中语法是错误的编译的时候就通不过容易发现错误, 但 变量=常量 这个是个赋值语句所以编译会通过而且只有当常量为 0 时候逻辑条件才为假.当一定要用赋值语句判断新赋值的对象的值是否为0时候,直接用 变量名=变量名 是在判断语句可能会出现混摇, 不如用 0==(变量名=变量名) 或者 0!=(变量名=变量名) 的声明循环语句循环语句解释:当满足条件时:须要重复执行的操作(循环体),循环
阅读全文
摘要:目录运算符sizeof与typedefnew与delete操作符优先级(本章节中例子都是用 VS2005 编译调试的)运算符[算术运算符][逻辑运算符][关系运算符][位运算符][复合运算符][赋值运算符]运算分类 1)算术运算符包括:﹢(加), ‐(减), *(乘), ∕(除), ﹪(求模), ++i(自增), --i(自减), i++(自增),i--(自减)注意:两个整型相除还为整型,两个负值除法求商中舍去方向一般 ' 向零取整 '不同类型运算,统一成高精度后再运算例子:View Code ...
阅读全文
摘要:目录C++命名规则,变量使用要求变量类型及其定义形式,初始化,赋值指针变量变量的生存周期C++中的转义字符C++关键字匈牙利命名规则[原先 C++ 变量存储说明符与限定符 与 类型转换 的链接](本章节中例子都是用 VS2005 编译调试的)C++命名规则,变量使用要求在名称中只能使用数字,字母,下划线,大小写字母代表不同字符名称的第一个字符不能为数字,可以为下划线,字母不能使用C++关键字用作名称在相同作用域不能声明两个变量名相同的变量变量必须先定义后使用,为定义的变量无法使用变量类型及其定义形式,初始化,赋值操作符号位 unsigned(有符号位)/signed(无符...
阅读全文