C programming / C++ programming

左值引用和右值引用

Posted on:

引用在本质上是一个别名,可以通过引用修改变量的值,在函数传参时传引用可以避免拷贝以提高运算速度,其实现原理和指针类似。在 C++ 11 引入右值引用之前,所有引用都指的是左值引用: int x = 3, y = 5; int & ref = x; //正确 int & ref = 5; //编译失败, 左值引用不能指向右值 const int & r […]

C programming

C 语言中的变参数函数

Posted on:

如果你曾经使用过 C 语言编程,你可能想知道标准函数如 printf() 和 scanf() 如何在函数调用中接受可变数量的参数。这些能够接受可变数量参数的函数被称为变参函数。 你可能会时不时地需要编写一个变参函数,标准库 <stdarg.h> 可以帮助你编写自己的变参函数。 例如下图所示,如果你需要一个能够对 n 个数字进行求和的函数,其中 n 可以是大于1的任意数字,你可能不想编写多个求和函数,而是在这种情况下需要一个变参函数。 int sum_of_ 2_ numbers(int x, int y) { return x+y; } int sum_of_ […]