cpp入门基础知识



1.命名空间域是随标准C++而引入的。它相当于一个更加灵活的文件域(全局域),可以用花括号把文件的一部分括起来,并以关键字namespace开头给它起一个名字:


namespace name1

{

    int a = 0;

}

namespace name2

{

    int a = 1;

}

    name1::a = 3

   name2::a = 4;

2.名字空间域解决全局命名冲突的问题.

标准C++库中的所有组件都是在一个被称为std的名字空间中声明和定义的。在采用标准C++的平台上使用标准C++库中的组件,只要写一个using指示符:

using namespace std;就可以直接使用标准C++库中的所有成员。

或者 std::成员 的方式也可以使用C++库里的成员。

#include<iostream>using namespace std;//std是C++标准库的名字空间

int main ()

{

    std::cout<<"hello world"<<std::endl; return 0;

}

3.C++基本的输入输出流

cout是标准输出流对象,<< 是输出操作符;

cin是标准输入流对象,>>是输入操作符;

endl是换行操作符;

他们都属于C++标准库,所以都在std的名字空间里面。

#include<iostream>

using namespace std;

int main ()

{

   int i1 = 1;

   double d1 = 2.22;

   cout<<"c++ type:" <<"int->"<< i1<<" double->"<< d1<<endl ;

   cout<<"please input int and double:" ;

   cin>>i1 >>d1;

   cout<<"c++ type:" <<"int->"<< i1<<" double->"<< d1<<endl ;

4.重载(C++为什么支持重载?)

在同一作用域类,一组函数的函数名相同,参数列表不同(个数不同/类型不同),返回值可同可不同

void fun(int a,int,b);

void fun(char a, char b);

void fun (int a,int b, int c);

5.C++缺省参数(全缺或者半缺,半缺缺省右边)

// 全缺省参数

int Add1 (int a = 0, int b = 0)

{

return a + b;

}

// 半缺省参数

int Add2 (int a, int b = 0)

{

   return a + b;

}

void Test ()

{

    Add1();

    Add1(1);

    Add1(1,1);

    Add2(2);

    Add2(2,2);

}

6.指针和引用(概念、使用方法、做参数、做返回值的作用,指针和引用的区别)

引用只是变量的别名,就像人的官名和小名,可以有多个。

1) 引用只能在定义时初始化一次,之后不能改变指向其它变量(从一而忠);指针变量的值可变。

2) 引用必须指向有效的变量,指针可以为空。

3) sizeof指针对象和引用对象的意不义一样,sizeof引用得到的变量的大小,指针指是对象地址的大小。

4} 指针和引用自增(++)自减(--)意义不一样。

5) 相对而言,引用比指针更安全。

总结一下:指针比引用更灵活,但是也更危险。使用时一定要注意检查指针是否为空,free之后指针最好置0,否则可能存在野指针问题。











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章