各位亲 有时间可以去看看我的 “金骏家居淘宝店” http://jinjun1688.taobao.com/shop/view_shop.htm?tracelog=twddp 买时说明在我的博客看到有优惠哦 还有意外礼品赠送 真正的程序员淘宝店
一、C++程序与C语言程序的区别:
1. 选用g++编译器,如果用gcc编译器要通过-lstdc++指明使用标准C++库
2.源文件的扩展名是.cpp/.cc/.C/.cxx
3.不再使用C的头文件stdio.h,取代的是C++头文件iostream
4.不再使用C函数printf(),取代的是cout对象
5.所有标准类,函数,变量,对象都定义在std名字空间中
二 名字空间
1.定义名字空间
namespace 名字空间{
名字空间成员:类型、变量、函数...
};
2 使用名字空间
名字空间名::成员名
::作用域限定操作符
3 名字空间指令
using namespace 名字空间名 (该指令以后的代码对此名字空间内的成员都是可见) 之后可省略作用域限定符,但是要避免冲突
4.无名名字空间
如果一个标识符没有在名字任何名字空间内,则默认为无名名字空间,可以用以下方法使用被引用的标识符。
::无名名字空间成员
5 名字空间声明
using 名字空间名:: 名字空间成员名
将特定名字空间中的特定成员引入当前作用域。
6 名字空间可以嵌套
三、C++中的结构、联合、枚举
1、 结构
1)写法上的区别:C++中声明和定义变量时可以省略struct
2)C++结构中可以定义函数
2、联合:C++中支持匿名联合
3、枚举:C++的枚举是一种独立的数据类型,C中的枚举其实就是整型
四、C++的布尔类型
bool类型的值只有两个值,true和false,其值是1和0
五、C++的运算符别名
&&-----and
||--------or
&-------bitand
|--------bitor
--------------
六、C++中的函数
1.重载:在同一作用域中,函数名相同,参数表不同的函数
1)extern “C”关键字可以明确要求C++编译器不会函数换名,以满足C程序直接调用C++中的函数
2)C程序也可以通过被C++编译器换名后的新函数调用C++模块中的函数
2.缺省参数
1)缺省参数必须靠右。即如果一个参数带缺省值,那么该参数右侧的所有参数都带有缺省值。
2)如果函数的声明和定义分开,那么缺省参数必须写在函数的声明部分
3)注意防止重载冲突
3 哑元:只有类型没有名称的参数叫哑元
如: void foo(int){...}
foo();
foo(10);
4 内联
在函数声明中使用inline关键字,即将函数声明为内联函数
inline int square(int x)
{
return X*X;
}
多次调用小而简单的函数适合内联
递归无法内联
inline 只是一种简易不是要求,即使没有显示使用inline来声明内联函数,编译器也可以根据优化策略进行内联优化。