标签分类:C++

每周精选技术文章心得 Vol.2-20180603

本周开始除了每日的微信公众号闲来无事的阅读,周末时候再加入些以前知乎或微博收藏的文章来阅读,做到慢慢消化些碎片知识吧。 星期日(知乎特别篇): C++的奇特写法int b = 4[a];,可以用来做type trait/constraint,用来判断一个类型到底是一个重载了[ ](取下标)操作符的用户定义的类(比如vector),还是一个原生的数组或指针。当你的模板希望只处理原生数组或指针,而不希 …

阅读全文

C++中的局部类与嵌套类

局部类指在函数内部定义的类,自然局部类不能含有static成员,所有函数定义也必须在定义体内完成。基本不会使用。

嵌套类指在类内部定义类,该类名只能在外围类中使用,嵌套类中的函数成员可以在定义体外定义(但是需要使用限定符以使用类名),嵌套类中申明的成员不是外围类对象的成员,反之亦然。

因此分析访问关系时,完全可以当做非嵌套类处理,即嵌套类无法访问外围类的私有成员,也不能对外围类中定义的私有嵌套类创建对象,嵌套类可以访问static private成员,嵌套类中申明的友元也不能访问外围类中的私有成员。