现在位置: 首页 > c++
    今天公司研发部举行会议,讨论执行代码审查事宜。在讨论到一条:头文件不能放函数实现代码,我提出异议:内联函数应该例外。同事反驳说:内联函数的实现也可放进cpp文件。我摆出我的理由:如果是类的内部使用该类的内联函数,函数实现放哪都行(头文件和cpp文件都可以);但是如果外部调用类的内联函数同时该函数的实现又是放在cpp中,那会出现错误。同事于是问我会出现错误,当时我也没答上来。于是大家就...
阅读全文
    总结了一下设计函数的一些心得:首先判断是否需要操作是否成功、值是否存在,若不需要,考虑直接返回操作结果(即由renturn语句返回而不是通过输出参数返回),毕竟这样外部调用比较方便,若需要,则应设计为通过输出参数返回操作结果值。
阅读全文
    在C++的类的数据成员的访问权限分为三种:public、protect和private。private表示自己本类私有,不允许其它类的直接访问;protected表示自己及子孙可以访问,其它族类不允许直接访问,我们可以把它比作是本家族的共同财富;public表示向全社会都公开的,任何类都可以直接访问的。     一般而言,出于对数据成员封装性的考虑,我们往往把数据成员设置为protect和private的访问权限。但是最近...
阅读全文
2012-07-12 17:05 工业·编程 ⁄ 共 2993字 暂无评论
    耦合性是程序结构中各个模块之间相互关联的度量。它取决于各个模块之间接口的复杂程度、调用模块的方式以及哪些信息通过接口。 一般模块之间可能的连接方式有七种,构成耦合性的七种类型。它们之间的关系为(由弱到强) (1)非直接耦合(Nondirect coupling) 如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。这种耦合的模块独立性最强。 。 (2)...
阅读全文
2012-07-12 16:56 工业·编程 ⁄ 共 5897字 暂无评论
以下总结了C#与C++的差异,不一定全,主要目的是供准备从C++转到C#的程序员参考。其中一般仅仅叙述了C#各方面的特性,C++的特性在下面所列的每一个方面都跟C#不同,但不再赘述。 (1) C#中无指针,所有的对象被分成了值类型和引用类型两种,前者包括int, double, char等简单类型和struct,后者包括string, 数组和类。值类型在栈上分配,即使它是用new分配的;引用类型在堆上分配,即使它没有使用new分配。引用类型仅仅在栈上保...
阅读全文
2012-07-12 10:27 工业·编程 ⁄ 共 3912字 暂无评论
    学习C++有半个多月了,感触比较多。以前一直是和虚拟机类语言(C#/Java)打交道的,尽管早已对C/C++的恶劣环境有所准备,但当开始学习一段时间以后还是不禁吃了一惊。       本人阅读的是《C++ Primer》,这本书是C++标准委员会许多成员共同著作而成,权威性自然不需多说。书中频繁出现陷阱,注释的小Tip。注释一般是补充解释,提出某些建议或者方案。陷阱的Tip的频繁出现令人惊奇,...
阅读全文
2012-07-12 10:08 工业·编程 ⁄ 共 2418字 暂无评论
1.前言     复制控制通常指类的复制构造函数,赋值操作运算符,析构函数     1.1复制构造函数     引入复制构造函数是为了让类的对象直接生成另一个对象,同时把此对象的数据复制到另一个对象中     如果类中没有实现复制构造函数,编译器自动添加一个,     如果我们不需要,则把它明确的禁止,禁止方法是在private声明一个   ...
阅读全文
1.申明和初始化指针 int * p1;     这表明 *p1的类型为int 。由于*操作符被用于指针,因此p1变量本身必须是指针。可以这样说,p1是指针(也即是地址空间),*p1是int,而不是指针;     顺便说一下,*操作符两边的空格是可选的.传统上c程序员用int *p1,而很多c++程序员用int* p1;     可以在申明语句中初始化指针,在这种情况下,被初始化的是指针,而不是它所指向...
阅读全文
2012-07-12 09:26 工业·编程 ⁄ 共 697字 暂无评论
    goto语句,在我所受的教育中,都是不提倡的。应为,它很容易打破程序的可阅读性。所以我 也一直没有用goto。可是为什么人们在发明语言的时候保留了goto呢?我们就真的不能用goto吗,过去我是这么想的。但现在我动摇了。     goto是强制跳转命令,跟汇编里的跳转指令一个功能。在汇编里,因为我们没有好的循环,条件指令。跳转指令在汇编里有着很大的作用。我们常用的条件跳转,符合什么条件...
阅读全文
2012-07-12 08:50 工业·编程 ⁄ 共 17366字 暂无评论
    STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。     STL算法作为模板函数提供。为了和其他组件相区别,在本文中STL算法以后接一对圆括弧的方式表示,例如sort()。     STL另一个重要特性是它不是面向对象的。为了具...
阅读全文