栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C-C++补充

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C-C++补充

变量可用表达式初始化

{}内部作用域,可定义与外部变量同名的变量。内部变量隐藏了外部变量(新定义的变量说了算)

在for循环中可以定义局部变量,作用于for循环这一内部作用域

在函数内部,想要访问和内部变量同名的全局变量,可使用全局作用域限定"::"

        eg:cout<<::a<

引用,不涉及将实参拷贝给形参(传值),无额外内存开销,效率高,尤其当实参占据很大内存时

想提高效率,又不希望形参的修改影响实参,可以将形参类型写为const int& x,就无法在子函数中对其进行修改了

inline(在函数最前方加上该关键字)内联函数,为了解决频繁调用小函数,占用大量栈空间的问题。将函数调用,替换成函数中的简单语句,以提高程序执行效率。

小函数中不能包含复杂的结构控制语句,且不能递归(程序调用自身),编译器才会将内联函数,内联展开

try-catch处理异常情况,正常代码放在try块,catch中捕获try块抛出的异常

throw,抛出异常对象,try块中throw后,下面的代码就都不会执行

catch(...){...},万能接盘侠,接收之前没被捕获到的异常

                try{

                        if(num>50) throw 1;

                        if(num<50) throw 1;

                       throw "hello";

                }

                catch(int result){  //这个catch块只能捕获到整形异常。字符串类异常可用const char* s来捕获

                        ...

                }

重载,分为函数重载(类型或个数不同)、运算符重载。允许在同一作用域中,为函数和运算符指定多个定义。

运算符重载,当用户自定义类型使用运算符时,需进行运算符重载。

        编译器转换成的函数形式:operator<<(cout,m);        //其中m为Man类型

声明模板类型参数时,typename全面优于class

当T是一个类,且这个类有子类时,应该用template

typename T::innerClass myInnerObject,此时不能用class。typename告诉编译器,T::innerClass是一个类innerClass是T的子类,程序要声明一个T::innerClass类的对象,而不是声明T的静态成员innerClass。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/347124.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号