安装c++编译软件包:sudo apt-get install g++
#include<iostream>//头文件不同
using namespace std;//使用命名空间,防止重定义,这里面的std是标准命名空间,
在使用cout等函数的时候,可以不用再之前加std,它首先在无名空间找,找不到就会去std里面找。
int main (int argc,char** argv)
{
int a=99;
std::cout << "hello,world!" << a<<std::endl;//输出函数不一样,endl是
代表回车的意思,cout表示输出。
return 0;
}
命名空间
namespace A//自定义一个大A的空间,里面有个变量a
{
int a=69;
}
namespace B//自定义一个大B的空间,里面有个变量a
{
int a=70;
}
int main (int argc,char** argv)
{
std::cout << A::a<<B::a<< std::endl;//打印两个a
return 0;
}
强转打印
char a[]="alex";
int main (int argc,char** argv)
{
std::cout << "hello,world!" <<(void *)a<< std::endl;//这里面的void*表示强行
打印a的地址,如果是c语言的话,用%p。c++的自动识别功能小心使用
return 0;
}
标准输入
int a;
int main (int argc,char** argv)
{
cin>>a;:::::这里的cin用>>,这里的cout是用<<.
std::cout << "a="<<a<< std::endl;
return 0;
}
引用
int main (int argc,char** argv)
{
int intone=5;
int &rint=intone;
cout<<"intone="<<intone<<endl;//
cout<<"rint="<<rint<<endl;//rint类似于指针变量*p,它就已经指向内容了,&rint表示其地址
,他们连个的地址其实也是一样的。
rint = 10;
cout<<"intone="<<intone<<endl;
cout<<"rint="<<rint<<endl;
cout<<"&intone="<<&intone<<endl;
cout<<"&rint="<<&rint<<endl;
return 0;
}
引用的应用
void alexswap(int & a,int & b)///传的是地址
{
int temp;
temp=a;
a=b;
b=temp;
}
int main()
{
int x=10;
int y=20;
alexswap(x,y);///传的是实际的值。
cout<<"x="<<x<<endl;
cout<<"y="<<y<<endl;
return 0;
}
内联函数
内联函数和宏差不多,要是时间不要空间;关键字inline。
内联函数中,不能有复杂的控制语句,比如if或for等
不能用在递归函数。
内联函数适合用1-5的小函数。
using namespace std;
inline void fn()//这里面的在void之前加了个inline,表示它是内联函数,
与宏不一样如果他出错可以有提示,有类型检查。
{
cout<<"hello,world"<<endl;
}
int main (int argc,char** argv)
{
fn();
fn();
return 0;
}
网友评论