“C++入门到精通 | 人工智能与物联网开发基础系列②”笔记(更新中...)

“C++入门到精通 | 人工智能与物联网开发基础系列②”笔记



1.C++简介

2.HelloWorld与命名空间

  2.1 HelloWorld

  1.两种不同版本的HelloWorld

    1)、C版本的HelloWorld
// C语言版本的HelloWorld
#include "stdio.h"  //引入所需库文件

int main(int argc, char *argv[])
{
	printf("C - HelloWorld!\n"); 
	   //显示"C - HelloWorld!",并换行
	return 0;
}
    2)、C++版本的HelloWorld
// C++ 语言版本的HelloWorld
#include "iostream"  
using namespace::std;  //引入所需库文件并使用标准的std命名空间(其中包含了cout、cin..)

int main(int argc, char *argv[])
{
	cout<< "C++ - HelloWorld!" <<endl;
	   //控制台显示"C++ - HelloWorld!",会自动换行
	return 0;
}

  2.如何在Linux环境中编写与编译HelloWorld

# Linux终端
onme@ubuntu:~$ ls  #显示当前目录下所有文件(不包括隐藏文件)
CASIAdata  Downloads         myLearnDoc  ROS        Videos
Desktop    examples.desktop  Pictures    snap       Win_Linux
Documents  Music             Public      Templates
onme@ubuntu:~$ mkdir test_code #1新建一个test_code文件夹用于保存测试代码
onme@ubuntu:~$ ls #新建好test_code文件夹之后
CASIAdata  Downloads         myLearnDoc  ROS        test_code
Desktop    examples.desktop  Pictures    snap       Videos
Documents  Music             Public      Templates  Win_Linux
onme@ubuntu:~$ cd test_code/ #2进入到文件夹中(Tab具有自动补齐功能,要好好利用)
onme@ubuntu:~/test_code$ ls #新建的test_code当前文件夹为空
onme@ubuntu:~/test_code$ touch hello.c hello.cpp #3新建一个hello.c C语言文件和hello.cpp C++语言文件
onme@ubuntu:~/test_code$ ls #查看新建两个文件之后的文件夹便多了以下两个文件
hello.c  hello.cpp
onme@ubuntu:~/test_code$ vi hello.c #4使用vim编辑hello.c
# vim编辑界面 - 初期使用vim编辑可能不习惯 - 具体可看看vim如何编辑
#1 按 a 进入插入模式,进入编辑状态;然后正常的编写即可 
// C语言版本的HelloWorld
#include "stdio.h"  //引入所需库文件

int main(int argc, char *argv[])
{
	printf("C - HelloWorld!\n"); 
	   //显示"C - HelloWorld!",并换行
	return 0;
}
#2 编写完之后,按 ESC 进入普通模式(即退出编辑)
#3 在普通模式下,输入 :w 保存hello.c文件
#-------------------------------------------------------------------------------
#4 利用vim多窗口编辑功能,在普通模式下输入 :sp hello.cpp 以打开一个视窗编辑hello.cpp文件
#5 同理在hello.cpp中按 a 进入插入模式开始编写程序
(视窗切换为普通模式下按   ctrl+w+j(移至下面视窗)  或 ctrl+w+k(移至上面视窗) 或 ctrl+w+w )
// C++ 语言版本的HelloWorld
#include "iostream"  
using namespace::std;  //引入所需库文件并使用命名空间

int main(int argc, char *argv[])
{
	cout<< "C++ - HelloWorld!" <<endl;
	   //控制台显示"C++ - HelloWorld!",会自动换行
	return 0;
}
#6 编写完之后,按 ESC 进入普通模式(即退出编辑)
#7 在普通模式下输入 :wq 保存并退出vim
#8 退出vim之后便返回至Linux终端中
# Linux终端
#1 编写好hello.c以及hello.cpp之后
#2 使用gcc编译hello.c 生成可执行文件ctest
onme@ubuntu:~/test_code$ gcc -o ctest hello.c
#3 执行ctest文件,输出 C - HelloWorld!
onme@ubuntu:~/test_code$ ./ctest
C - HelloWorld!
#-----------------------------------------------
#4 使用g++编译hello.cpp生成可执行文件cpptest
onme@ubuntu:~/test_code$ g++ -o cpptest hello.cpp
#5 执行cpptest文件,输出 C++ - HelloWorld!
onme@ubuntu:~/test_code$ ./cpptest
C++ - HelloWorld!


  2.2 输入输出流

  相当于C语言的scarf和printf

“C++入门到精通 | 人工智能与物联网开发基础系列②”笔记(更新中...)_第1张图片


  2.3 命名空间namespace(有点相像C语言中的结构体操作)

  为了解决命名重复的问题。如在分组1里存在命名:nLibray,而在分组2里也存在nLibray,则在使用时需要对不同组的命名进行操作。其中,std:标准命名空间,其中包含了cout/cin/…

“C++入门到精通 | 人工智能与物联网开发基础系列②”笔记(更新中...)_第2张图片

  如下面的例子:
// -------------------------- 引入所需库 --------------------------
#include 
#include 
// --------------------------  命名空间  --------------------------
using namespace::std //使用标准命名空间,里面包含了cout/cin/..
//定义新的命名空间group1
namespace group1 {
	int m = 200;
	int n = 10;
}
//定义新的命名空间group2,这两个命名空间中都有命名:n
namespace group2 {
	int x;
	int n = 50;
}
// --------------------------  执行函数  --------------------------
int main(int argc, char *argv[])
{
	using group2::x; //使用group2命名空间中的x,两个冒号是作用域运算符
	cout << x << endl; //输出x的值,它初始化没有赋值,所以输出为0
	x = -100; //对x进行赋值

	group1::n *= 2; //利用作用域运算符,使得group1中的n乘以2
	cout << group1::n << endl; //输出group1中的n的值,输出:10X2=20
	cout << group1::m << endl; //输出group1中的m的值,输出:200

	group2::n *= 3; //利用作用域运算符,使得group2中的n乘以3
	cout << group::n << endl; //输出group2中的n的值,输出:50X3=150
	cout << x << endl; //输出group2中的x的值,输出:-100

	system("PAUSE");

	return 0;
}




3.内联函数(inline)

“C++入门到精通 | 人工智能与物联网开发基础系列②”笔记(更新中...)_第3张图片

  3.1 函数

  1.两种不同版本的HelloWorld

你可能感兴趣的:(C++)