CPP学习笔记
C++学习笔记 现在主流的编译型语言包括C、C++、Go、Rust等,它们的编译过程中需要将代码转换成机器语言,因此可以获得更高的执行效率和更好的性能。 而主流的解释型语言包括Python、Ruby、JavaScript等,这些语言需要解释器将代码转换成机器语言并运行,因此相对于编译型语言,它们的执行效率和性能可能会稍低,但是它们通常具有更高的开发效率和更强的灵活性,因为它们可以在运行时动态修改代码。 另外,还有一些语言是即时编译型语言(JIT),例如Java、C#和LuaJIT等,这些语言的编译器会在运行时将代码编译成机器语言,因此它们的执行效率和性能通常比解释型语言要高一些,但比编译型语言略低一些。 函数的声明和定义中, 不能重复定义一个参数的值; 带有默认值的形式参数必须放在参数列表的最右侧; 一、cin 函数的用法 使用cin从标准输入读取数据时,通常用到的方法有cin»,cin.get,cin.getline。 1.1 cin»的用法 (1)cin»等价于cin.operator»(),即调用成员函数operator»()进行读取数据。 (2)当cin»从缓冲区中读取数据时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,cin»会将其忽略并清除,继续读取下一个字符,若缓冲区为空,则继续等待。但是如果读取成功,字符后面的分隔符是残留在缓冲区的,cin»不做处理。 (3)不想略过空白字符,那就使用 noskipws 流控制。比如cin»noskipws»input; 1.2 cin.get的用法 1.2.1 cin.get读取一个字符 读取一个字符,可以使用cin.get或者cin.get(var),示例代码如下: #include <iostream> using namespace std; int main() { char a; char b; a=cin.get(); cin.get(b); cout<<a<<b<<endl; system("pause"); return 0; } 输入:e[回车],输出: 注意: (1)从结果可以看出,cin.get()从输入缓冲区读取单个字符时不忽略分隔符,直接将其读取,就出现了如上情况,将换行符读入变量b,输出时打印两次。 (2)cin.get()的返回值是int类型,成功:读取字符的ASCII码值,遇到文件结束符时,返回EOF,即-1,Windows下标准输入输入文件结束符为Ctrl+z,Linux为Ctrl+d。cin.get(char var)如果成功返回的是cin对象,因此可以支持链式操作,如cin.get(b).get(c)。 1.2.2 cin.get读取一行 读取一行可以使用istream& get ( char* s, streamsize n )或者istream& get ( char* s, size_t n, streamsize delim )。二者的区别是前者默认以换行符结束,后者可指定结束符。n表示目标空间的大小。示例代码如下: #include <iostream> using namespace std; int main() { char a; char array[20]={NULL}; cin....