C++浅谈
闲暇之际,一直想把自己那些零碎的知识给连贯起来,形成一个体系,所以才决定写点东西来整理下最近半年来的知识点,我想把自己的知识输出才是最高效的学习方法,本博客讲结合我自己本人的实际工作经验,进行浅谈,与诸君分享,共同进步,由于能力有限,博客中有纰漏和错误的地方请诸位斧正。
为何不是java和python哪,以我个人的角度来看,c++这门语音相对门槛比较高,学习比较费劲,导致从事该行业的比较少,整体从业人员的年龄也偏大,35岁的危机可能也相对晚点到来,废话不多说,本人将从c++的基本用法开始一步一步的深入挖掘。
C++的运行环境安装
1. 目前比较流行的的IDE是QT,下载到官网https://www.qt.io/download-open-source/中进行,下载完成之后进行安装
sudo chmod +x qt-opensource-linux-x86-5.4.1.run
sudo ./qt-opensource-linux-x86-5.4.1.run
配置环境变量
export QTDIR=/opt/Qt5.4.1/5.4
export PATH=
Q
T
D
I
R
/
g
c
c
6
4
/
b
i
n
:
QTDIR/gcc_64/bin:
QTDIR/gcc64/bin:PATH
export LD_LIBRARY_PATH=
Q
T
D
I
R
/
g
c
c
6
4
/
l
i
b
:
QTDIR/gcc_64/lib:
QTDIR/gcc64/lib:LD_LIBRARY_PATH
2.使用c++ 编写的第一个程序
#include
using namespace std;
int main(int argc, char** argv)
{
cout<<“Hello World!”<<endl;
return 0;
}
(1)头文件
语句#include中的iostream就是被include语句包含的头文件。在原来的C语言中,头文件都是以x.h的形式存在的。而在C++语言中,头文件只有名字,而没有扩展名.h,如iostream就是一个没有扩展名.h的C++头文件。原有的C语言体系的头文件部分仍然以x.h的形式存在,部分头文件被升级到C++体系中而不复存在,这部分均在原有名字的前面添加字符c来加以标志(表示此头文件是升级原C语言头文件而来的),如cmath,ctring。
头文件的功能主要是将源程序片段收集到一起,形成一个提供给编译程序的文件。一般情况下,头文件中只包含各种声明、常量定义(注意这是常量)、预编译、注释、类型定义、模板定义等。常规的函数定义、数据定义、导出的模板定义等不应该出现在头文件中。
使用头文件主要是为了提供类、函数、变量的声明,从而可以方便地使用这些类、函数、变量等。
(2)命名空间:namespace
所谓命名空间,为一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来。namespace是定义命名空间的关键字,如:namespace ns1{ int a;double b; } ,为定义一个命名空间的例子,其中ns1是命名空间的名称。
命名空间的主要作用在于:建立一些互相分割的作用域,把一些全局实体分隔开来。根据需要,可以在程序中设置许多个命名空间,每个命名空间名代表一个不同的命名空间域,不同的命名空间不能同名,命名空间中的成员也不能同名(这样的规则解决了名字冲突问题)。如此,可以把不同的库中的实体放到不同的命名空间中,或者说,用不同的命名空间把不同的实体隐蔽起来。过去我们用的全局变量可以理解为全局命名空间,独立于所有有名的命名空间之外,它是不需要用 namespace声明的,实际上是由系统隐式声明的,存在于每个程序之中。
c++main函数主要有如下几种
(1)int main(int argc,char** argv);
(2)int main(int argc,char* argv[]);
(3)int main();
(4)void main();
这个是在linux下命令行来运行c++程序
1.创建c++程序
#include
using namespace std;
int main()
{
cout << “Hello World!” << endl;
return 0;
}
2.生成可执行文件
g++是编译器, -o 指定可执行文件的名称为hello,没有该选项时,编译器采用默认的 a.out。即:运行g++ hello.cpp,会得到a.out,然后查看a.out即可 ./a.out
2. 执行程序
g++ hello.cpp -o hello
$ ./hello
Hello World!
C++ 语法
1.C++数据类型
3. C++变量
#include
using namespace std;
// 变量声明 extern int a, b;
extern int c;
extern float f;
int main ()
{ // 变量定义 int a, b; int c; float f;
// 实际初始化 a = 10; b = 20; c = a + b;
cout << c << endl ;
f = 70.0/3.0;
cout << f << endl ;
return 0;