C++回炉(4)


--- 1.goto:

-------------- 不要在程序中使用goto语句 它使得程序既难理解又难修改


--- 2.使用引用避免拷贝:

--------------------------------- 拷贝大的类类型对象或者容器对象效率低下 有些甚至不能拷贝(包括IO) 这些时候 用引用形参的方式访问对象是一个不错的办法


--- 3.关于const的形参与实参:

---------------------------------------- 重载函数的时候 函数的形参列表会忽略顶层的const 引用和指针的版本则不会


--- 4.形参尽量使用常量引用:

--------------------------------- 尽量使用常量引用为了避免一些函数内参数互相传递和其他的不可预测的麻烦 

--- ex:


--- 5.可变形参:

--------------------- 如果参数数量未知但是类型全相同 则可以使用可变形参 借用initializer_list 它是一种标准库类型 用于表示特定类型的数组 

--- ex:

#include <iostream>
using namespace std;

initializer_list<int> p = { 1232,3,7,23,76,23 };
void print_const(initializer_list<int> li = p) {
	for (auto &i:li) {
		cout << i << endl;
	}
}

int main() {
	
	print_const({1,2,3,5,6,80});
	system("pause");
	return 0;
}

--- 6.列表初始化返回值:

--------------------------------- 返回值为花括号包含的值的列表

--- ex:


--- 7.C++中 名字查找发生在类型检查之前


--- 8.内联说明:

--------------------- 将函数设置成内联函数即向便一起发出内联说明 编译器可以忽略这个请求 有效的内联函数会在执行点”内联“的展开(类似于更换为有效的表达式) 从而消除函数的开销 一般来说 内联机制用于优化规模小 频繁调用的函数 很多编译器不支持内联的递归


--- 9.函数匹配:

--------------------- 在函数重载的基础上进行函数匹配 如果有的话 编译器会寻找最佳匹配 否贼可能会进行类型转换等操作 多个形参进行匹配时的情况有些复杂 

--------------------- 规则:若有且只有一个函数满足下列条件 则匹配成功

------------------------------- 1.该函数的每个实参的匹配都不劣与其他的可行函数需要的匹配 

------------------------------- 2.至少有一个实参的匹配优于其他可行函数的匹配

ex:


--- 10.函数指针形参:

---------------------------- 当decltype作用于函数时 它返回的是函数类型而非指针类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值