Java程序员的C++回归路

前言:工作后吃饭的语言是java,同时写一些python和js,在学习机器学习的时候发现有必要再熟悉一下c++,同时工作也有c++的使用需求。于是开始对照c++ primer自学,希望能够对同样是其他语言的学习者,在学习c++的时候提供一些帮助。

第1章: 起始 First program

主流编译器:GNU 编译器和微软的编译器,运行微软编译器的命令是:cl

Input/Output

Using namespace used to avoid inadvertent collsions between the same names.

Std::cin返回 std::cin对象

注释

C++中有两种类型的注释:单行注释://和多行注释:/* */

如果有程序如下:

#include <iostream>
int main(){
   int sum = 0, value = 0;
   while(std::cin >> value){
       sum += value;
  }
   std::cout<< "Sum is: "<< sum << std::endl;// std::endl flush buffer
}

上面这段程序会一直读取输入的内容直到输入的结尾,在不同的操作系统中,标识输入的结尾是不同的,在类unix操作系统中,使用ctrl + D来表示输入结尾,在windows系统中,使用ctrl+Z标识。

关于编译器

在类unix系统(含Mac)使用到的编译器和编译指令如下:

cc:在Mac上,cc作为clang的软链接。

clang:相比于gcc,clang有着编译速度快,编译产出小,编译提示友好等有点。而且使用c++编写,基于LLVM的C/C++/Objective C/Objective C++ 编译器。

gcc:GNU的c编译器,后面发展为可以编译很多的编程语言。

g++:c++的编译器。

msvc:windows上使用的c/c++编译器

关于这些区别的一篇博文:https://www.cnblogs.com/qoakzmxncb/archive/2013/04/18/3029105.html

C++中的类

使用一个库的时候,需要包含关联的header文件。标准库的headers一般是不包含后缀名的,编译器一般不关心文件的后缀,但是IDE有时会。

clog的使用,默认地,写到clog中的数据会被buffer缓冲,一般用于报告程序运行过程中的信息。

第2章:基础 C++的原始内建类型

C++中包含了一些基本的数学类型和void类型,作为原始内建类型。

Type Meaning Minimum Size
bool   boolean   NA  
char   character   8bits  
wchar_t   wide character   16bits  
char16_t   Unicode character   16bits  
char32_t   Unicode character   32bits  
short   short integer   16bits  
int   integer   16bits(所有操作系统?)  
long   long integer   32bits  
long long   long integer   64bits  
float   Single-precision floating-point   6 significant digits  
double   Double-precision   10 significant digits  
long double   Extended-precision   10 significant digits  

需要注意的是,在上述表格中的数据类型所占用的内存大小根据平台的不同而不同。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzpps.html