C++【基础常识】

第一个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)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值