Essential C++学习(一)

发布时间 2023-03-26 18:08:24作者: tripl3T

  今天是新人第一天写博客,很多东西都不太会,希望各位见谅。文章可能有很多幼稚的看法,在此提前感谢大佬指正。

 

  很多作者都没有特别关注第一章的内容,但就在写这篇随笔的时候,我在第一面就发现了一个有趣的东西。作为一名对c语言有些了解的本科生,对于vector还是相对陌生的,这里译者将vector翻译为向量,如果我没记错的话这应该是唯一一次对vector的翻译?对于这个翻译我思考了一会,有一些见解:

  1.相比较n维数组而言,向量这个词汇对于初学者更熟悉,至少听过。

  2.尽管向量和n维数组有一些相通,但从图形到计算机模型似乎要转的弯不少。根据我多年的数学学习(做题)经验,利用数学解决实际应用问题真的不简单。想把在数学上学到的一些方法真正运用在处理理科问题上需要大量的实战经验,这也是我所欠缺的。

 

  对于class机制,第一章的描述让我感觉有点像黑盒,或者说有点像结构体,具体的内容还需要后面的学习。对于打印字符串使用的转义字符“\”就和网络中的透明传输一脉相承了。

 

  构造函数语法(constructor syntax):对象需要多个初值(复数等)时,用此方法进行初始化,例如:

  #include<complex>

  complex<doouble> fushu(0,7);

 

  运算符的优先级:位置在上者高于在下者。

  逻辑运算符 NOT !

  算术运算符 *   /   %

  算术运算符 +  -

  关系运算符 <  >  <=  >=

  关系运算符 ==   !=

  逻辑运算符 AND &&

  逻辑运算符 OR ||

  赋值运算符  =

  

  if和else if:在一样语义一样的情况下,else if 更快,因为只有if的话每个判断语句都有进行判断,但else if在一定条件下不需要每个语句都运行。

 

  vector:

  定义

  #include<vector>

  vector<int> try(try_size);

  初始化:先初始化一个数组(array)

  vector<int> try(array , array + size);

 

  文件:

  ofstream outfile("test.txt"); //以输出模式开启

  ofstream outfile("test.txt" , ios_base::app); //以追加模式打开

  ifstream infile("test.txt"); //以读取模式打开

  fstream iofile("test.txt" , ios_base::in|ios_bose::app); //同时读写一个文件,并以追加模式打开

  这么复杂的参数,作者都没有解释,我更不会深究啦(不查还好,一查给我看蒙了,如果真要读写追加,参数应该是in|out|app吧,但是网上也有人说app包含了out,实验了一下好像是这么回事)。不过以追加方式读取文件会直接定位在文件末尾,所以需要重新定位,iofile.seekg()可定位读取位置。

 

  to be contined