C++ primer 笔记(一)

endl 是一个特殊值,称为操纵符,将它写入输出流时,具有输出换行的效
果,并刷新与设备相关联的 缓冲区。通过刷新缓冲区,用户可立即看到写入到
流中的输出。
for(int i=1;i!=100;i++){}
退出循环后,i的内存释放。从键盘输入文件结束符:
ctrl+z;
Mac Or Linux: ctrl +d;

clog

绑定到标准错误的 ostream 对象。默认情况下,写到 clog 时是带缓冲的。通常用于将程序执行信息写入到日志文件中。

cerr绑定到标准错误的 ostream 对象,这通常是与标准输出相同的流。默认情况下,输出 cerr 不缓冲,通常用于不是程序正常逻辑部分的错误信息或其他输出。

built-in type(内置类型)C++ 语言本身定义的类型,如 int。short、int 和 long 类型都表示整型值,存储空间的大小不同。

一般, short类型为半个机器字长,int 类型为一个机器字长,而 long 类型为一个或两个机器字长(在 32 位机器中 int 类型和 long 类型通常字长是相同的)。float 保证6位有效数字,double至少保证10位C++中,对整型赋值,超出范围后,取模赋值。

在一行的末尾加上“/” 可将次行和下一行当成同一行处理。"two"L"three" 非法,因为字符串字面值与宽字符字面值默认的浮点字面值常量是double型,在数值后面加F表示单精度,加上L表示拓展精度。

C++是一门静态语言,在编译时作类型检查术语: 对象————内存中具有类型的区域初始化对象是创建变量并给其赋初值,而赋值则是擦除对象的当前值并用新值代替。

string(10,'9')
通过一个计数器和一个字符来初始化对象

初始化注意事项:
1.关键字不能作变量名
2.>>运算符后面不能进行变量定义
3.同一语句的不同变量初始化应分别进行
4.定义的变量不应与函数同名

内置类型变量是否自动初始化取决于变量定义的位置,在函数体外定义的变量都初始化为0或默认的构造函数。体内的不自动初始化
建议每个内置类型都初始化

程序中变量可以声明多次,但只能定义一次,extern 声明不是定义,也不分配内存空间

通常把一个对象定义在它首次使用的地方
const 限定符,定义常量时必须初始化,在全局作用域声明的const变量只能被该文件引用
指定const 变量为extern ,可以被其他文件用

引用是一种复合类型,在变量名前加“&”定义,
引用必须用同类型的对象初始化
int &refval=iva;
对引用的操作,作用在绑定的对象上,其实就是变量的小名~

const 引用可以初始化不同类型的对象或者初始化为右值!
const int &=42;
const int &r1=r+i;
typedef 用来定义类型的同义词枚举enum默认初始化,第一个成员赋值为0,后面+1用class 和struct 关键字定义类的唯一区别在于默认访问级别,class 默认是private ,struct 默认是public头文件不应该有变量或者是函数的定义,三个例外:可以定义类,const 对象,inline 函数几种string 对象初始化
sting s1;
string s2(s1);
sting s3("1212k”) sting s4(n,'c');
cin>>s 的标准,s 为字符串
1.读取并忽略开头所有的空白字符
2.读取直至再次遇到空白字符,终止      ps 空白字符(如space tab ,回车。。)
使用getline 读取整行文本
getline(cin,line) 该函数从输入流的下一行读取,直到遇到换行符为止。

string 常用操作
s.empty()       空,返回true

s.size()	返回字符个数

s1+s2 		连接形成新的字符串
当进行string 对象和字符串字面值混合连接操作时,“+“操作符的左右操作数至少一个为string类
string s2=s1+"hello"  ok

string s3="hello"+",";   error
应该用string::size_type类型的变量接受size()函数的返回值。定义用作索引变量时,最好也用string::size_type类型

<cctype.h>中的函数
isalpha(c)
isdigit()
islower()
isupper()
tolower()
toupper()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值