c++学习之路

C++知识点总结:https://github.com/huihut/interview

primer c++习题答案:https://github.com/huangmingchuan/Cpp_Primer_Answers

c++资源网:https://github.com/jobbole/awesome-cpp-cn

高并发网络库:https://github.com/yedf/handy

c++知识点:https://www.cnblogs.com/heyonggang/p/3246631.html

学习笔记:https://www.cnblogs.com/llguanli/p/7183257.html

https://www.cnblogs.com/maowang1991/p/3290321.html

https://blog.csdn.net/chris_zhangrx/article/list/6?t=1

一-、作用域符 ::

1、  全局作用域符(::name):用于类型名称(类、类成员、成员变量、成员函数、变量等)前,表示作用域为全局命名空间

2、  类作用域符(class ::name):用于表示指定类型的作用域范围是具体某个类的

3、  命名空间作用域符(namespace::name):用于表示指定类型的作用域范围是具体某个命名空间的

二、命名空间

1、namespace命名主要用途,用来解决命名冲突的问题

2、命名空间下可以放函数、变量、结构体、类

3、必须在全局作用域下声明

4、命名空间可以嵌套命名空间

5、命名空间是开放的,可以随时可入新的成员

三、Using

1、引入命名空间

2、给某一类型定义别名,和typedef作用一样

using 类型别名 = 原类型

3、当一个派生类私有继承基类时,基类的public和protected数据成员在派生类中是private的形式,如果想让这些继承而来的数据成员作为public或者protected成员,可以用using来重新声明。using声明语句中名字的访问权限由该using声明语句之前的访问说明符决定。

4、因为派生类可以重载继承自基类的成员函数,所以如果派生类希望所有的重载版本对于它都是可见的,那么它就要覆盖所有版本或者一个也不覆盖。但是,有时一个类仅需要覆盖重载部分函数,若覆盖所有函数,就太繁琐了。
那么此时,using就派上用场了。只要为重载的成员函数提供一条using声明,这样我们就无需覆盖基类中的每一个版本了。

 

三、显示初始化数组元素

1、如果指明了维度,那么初始值的总数量不应爱超出指定大小,如果维度比提供初始值数量大,则用提供的初始值初始化靠前的元素,剩下的元素被初始化成默认值。

原文地址:https://www.cnblogs.com/LYL-8/p/9969420.html