C++【基础常识】

来源:互联网 发布:淘宝可提前收款订单 编辑:程序博客网 时间:2024/05/17 06:19
第一个C++程序
1.编译器:g++
2.扩展名:.cpp/.cc/.cxx/.C
3.头文件:C++的标准头文件都没有.h扩展名
          C++对C兼容的头文件
4.输入输出:cin/cout/cerr,>>/<<
scanf (...) -> fscanf (stdin, ...)
printf (...) -> fprintf (stdout, ...)
5.名字空间:标准库中的对象都位于std名字空间中。


名字空间

针对全局域的标识符(变量、函数、类型)按照逻辑划分作用域。
1.定义名字空间
namespace 名字空间名 {
  名字空间成员
}
2.使用名字空间
名字空间名::名字空间成员
          ^
          作用域限定运算符——“的”
3.名字空间指令
using namespace 名字空间名;
该指令之后对特定名字空间中的成员可见,允许省略名字空间前缀。
4.名字空间声明
using 名字空间名::名字空间成员名;
将制定名字空间中的指定成员名称引入当前作用域,允许省略名字空间前缀。
5.无名名字空间
任何没有被声明在有名名字空间中的标识符,都被置于无名名字空间中,通过“::标识符”显式表明所引用的是无名名字空间中的标识符。
6.名字空间可以嵌套


C++中结构、联合和枚举

1.结构
用结构类型定义变量时,可以省略struct关键字。
struct Student {
  char name[128];
  int age;
};
struct Student s1 = {"张飞", 25}; // C
Student s1 = {"张飞", 25}; // C++
结构内部可以定义函数,称为成员函数。
2.联合
匿名联合
3.枚举
C中的枚举实际上就是整型,而C++中的枚举是一个独立的类型。
c中枚举从0开始。


布尔类型

bool,true,false


运算符别名

&& - and
&  - bitand
{  - <%
[  - <:

...

this指针
1.一般而言,关键字this是一个指针,在普通成员函数中this指针指向调用该成员函数的对象,在构造函数中this指针指向这个正在被构造的对象。
2.应用场景
1)在成员函数/构造函数中明确表示所引用的变量是一个成员变量,以避免和同名的参数变量以及局部变量发生冲突。

C++之父的建议
1.在C++中尽量不用宏,代之以const、enum或inline。
#define PAI 3.1415926
const double PAI = 3.1415936;
#define ERROR_FILE -1
#define ERROR_MEM  -2
enum ERROR {
  ERROR_FILE = -1,
  ERROR_MEM  = -2
};
2.变量随用随声明。
3.少用malloc/calloc/free,代之以new/delete。
4.少用void*、指针算术、联合、强制类型转换。
5.少用C风格的字符串,进行使用string类型。
6.有意识地使用面向对象的思想。
面向过程/基于对象(BOP)/面向对象(OOP)

1 0
原创粉丝点击