0
点赞
收藏
分享

微信扫一扫

【C++】C++入门(更新ing)

i奇异 2022-01-11 阅读 50

目录


一、C++关键字(C++98)

    C++继承了 C 的关键字并加以扩展。C的关键字有32种,而C++有63种

关键字
asmdoifreturntrycontinue
autodoubleinlineshorttypedeffor
booldynamic_castintsignedtypeidpublic
breakelselongsizeoftypenamethrow
caseenummutablestaticunionwchar_t
catchexplicitnamespacestatic_castunsigneddefault
charexportnewstructusingfriend
classexternoperatorswitchvirtualregister
constfalseprivatetemplatevoidtrue
const_castfloatprotectedthisvolatilewhile
deletegotoreinterpret_cast

二、命名空间

    2.1 解决的问题

        ① 自己定义的变量名或函数名与库中冲突。
        ② 自己定义的两个变量名或函数名冲突。

    2.2 使用

        语法namespace 命名 { }
        说明:{ }中可以是 变量、函数

//eg
int a = 0;
void test()
{
    printf("你好");
}
namespace zyz
{
    int a = 1;
    void test()
    {
        printf("Hello");
    }
}

        三种引用方式

方式优点缺点备注
常规方式:加命名空间名称及作用域限定符做到了最好的隔离麻烦
展开局部:用using将命名空间中成员引入--
全部展开:使用using namespace 命名空间名称引入方便隔离失效不推荐使用
//eg
namespace zyz1
{
	int a = 1;
	void test()
	{
		printf("1\n");
	}
}
namespace zyz2
{
	int a = 2;
	void test()
	{
		printf("2\n");
	}
}
using zyz2::a;//只展开a
namespace zyz3
{
	int b = 3;
	void test()
	{
		printf("3\n");
	}
}
using namespace zyz3;
int main()
{
	//常规方法
	printf("%d", zyz1::a);
	zyz1::test();
	//部分展开
	printf("%d", a);
	//全部展开
	printf("%d", b);
	test();
}

🔴注意
        ① 命名空间可以嵌套
        ② 同名命名空间最后会合并

//eg
namespace zyz1
{
	int a = 1;
	namespace zyz2
	{
		int a = 2;
	}
}
int main()
{
	printf("%d", zyz1::zyz2::a);//注意引用时候也需要嵌套
}

三、cin输入和cout输出

        头文件:#include <iostream>

        本质:输出coutprintf是一样的 | 输入cinscanf是一样的。

        优势:coutcin可以自动识别类型,更加方便。

//使用方式
//1.常规使用
#include <iostream>
int main()
{
	std::cout << "hello" << std::endl;//等价于 prinf("hello\n");
}

//2.部分展开
#include <iostream>
using std::cout;
using std::endl;
int main()
{
	cout << "hello" << endl;
}

//3.全部展开
#include <iostream>
using namespace std;
int main()
{
	cout << "hello" << endl;
}
举报

相关推荐

0 条评论