C++ 学习笔记(一)

C++ 学习笔记(一):头文件,标准输入输出, 名称空间

头文件名

C语言的头文件名一般都有后缀.h,将其作为标识头文件的一种简单判别方法。
C语言转换头文件:对于C头文件被转换为C++头文件,是去掉了拓展名.h,并加上前缀c,如“cmath”,这种转换,有时是做了新的修改,有时是版本相同。
纯粹的C++头文件(如iostream),去掉拓展名不只是形式上的变化,其头文件还包含了命名空间。

头文件类型约定示例说明
C++旧式风格以.h结尾iostream.hC++程序可以使用
C旧式风格以.h结尾math.hC、C++都可以使用
C++新风格没有拓展名iostreamC++程序使用,并要使用namespace std
转换后的C加上前缀c,无拓展名cmathC++程序可以使用,可以使用不是C的特性,namespace std

名称空间

如果为纯粹的C++头文件,要使用头文件中的定义内容时,要使用名称空间编译指令:using namespace std (可直接访问命名空间std中名称)

名称空间支持是一项C++特性,他是为了在编写大型程序的时候以及将多个厂商的代码组合起来更容易,因为有时候回出现两个甚至多个厂商的的函数名相同,那么你在使用的时候就会出现问题,究竟是用哪个版本。 名称空间让厂商能将其产品封装在一个叫做名称空间的单元中,这样可以使用命名空间的名称来指出是使用哪个厂商的产品。例如:A:wanda()和B:wanda(),由此来区分。

那么再看iostream 头文件中的cin和cout,是在名称空间std中。(仅当头文件没用拓展名的时候是这样的)。
实际上的使用应该是:

std:cin>>a;  
std:cout<<”hello C++!”

但是这样的使用太过麻烦,因此using编译指令就出现了,using namespace std,使用名称空间std中所定义的函数,这样在后续使用函数的时候就不用加前缀了。

但是,这样一次性的编译指令,在大型项目中会有潜在的问题,更好的办法是:对于要使用的名称进行编译声明。

using std:cin;
using std:cout;
using std:endl;

C++的标准输入和输出

(cin,cout,endl都是一个预定义的对象,他们的属性在iostream文件中定义了)

1.cin

是一个对象,表示一个输入流,其属性包括一个输入运算符“>>”,通常在其右侧要提供一个变量,以接收抽取的信息。
例如:

int i;
cin>>i;

就是将键盘输入的数据,传入到str中,由于cin是一个智能对象,他的的内部可以根据str的类型,再将输入的数据由cin转换或只提取对应长度,再流向str中。

2.cout

是一个对象,表示一个输出流,其属性包含一个输出运算符“<<”,他可以将右侧的信息出入到cout输出流中

Cout<<”come on, go to the C++world!”;

将”come on, go to the C++world!”插入到输出流中,并在终端中显示。

cout拼接
①cout<<”hello ”<<”C++ ”<<”world”<<”\n”;
②cout<<”hello”
     <<”C++”
 <<”world”
 <<”\n”;
③cout<<”hello”;
  cout<<”C++”;
cout<<”world”;
cout<<”\n”;

3.换行

①endl
endl是一个特殊的C++符号,表示换行,一般在cout输出流数据的时候,起显示换行作用。像endl这种对于cout有这特殊含义的特殊符号被称为控制符。

cout<<"hello!"<<endl;
cout<<"C++";
//输出
hello
C++

②“\n”
传统换行符,要换行时,可在输入字符串的末尾写上”\n”

cout”hello world\n”;
//另起一行
cout”\n”;

关键字:

关键字是系统已经预定义的单词,有专用的定义。这些 关键词都是保留字,用户不可再重新定义。C++区分大小写,关键字全部由小写字母组成。
标准C++(ISO14882)定义了74个关键字,具体的C++编译器还 会做一些增删
asm assert auto bool break case catch char class concept
const constexpr const_cast continue decltype default delete do double dynamic_cast else enum explicit export extern false float for friend goto if Inline int Long mutable namespace new noexcept nullptr operator private protected public register reinterpret_cast requires return short signed sizeof
static static static static_assert switch template this thread_local Throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t
while

格式注意点

C++中,在能够使用回车的地方可以使用空格,反过来也是

#include <iostream>
int main
()
{
using namespace 
std; cout
<<
”hello world”
; cout
<<
“hello C++”
;return 0;
}

尽管使用的方式比较随意,但是,这样十分不美观,且别扭,一旦代码量很大,就会导致混乱。

C++代码习惯:
1.每个语句占一行
2.每个函数都有一个开始花括号和结束花括号,两个花括号个占一行。
3.函数中的语句都相对于花括号进行缩进
4.与函数名与相邻的小括号间没有间隔

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值