C++ Tips (持续更新)
程序员文章站
2022-07-02 19:19:26
...
1.将vecotr传递给形参的三种方式
** 函数定义方式**
function1(std::vector<std::vector<int> > vec),传值
function2(std::vector<std::vector<int> >& vec),传引用
function3(std::vector<std::vector<int> >* vec),传指针
函数调用方式
function1(vec),传入值
function2(vec),传入引用,引用类型的修改会直接影响原来的变量
function3(&vec), 传入地址
三种方式的效果分别为:
-
会发生拷贝构造
-
不会发生拷贝构造,引用类型的修改会直接影响原来的变量
-
不会发生拷贝构造, 指针类型的修改也会改变原来的值
2. 数组作为形参传递的两种方式
- 注意两种方式都是传递了数组的地址,因此都不会分配新的内存,不存在形参的构造。
传递方式
function(int a[]);
function(int *a);
传递方式
int a[5]={0};
function(a) //方法1
function(a) //方法2,一样的
3. 换行表示输入结束
vector<int> seq;
int temp;
while (1)
{
cin >> temp;
seq.push_back(temp);
if (getchar() == '\n')
break;
}
4. 多case输入
- C 64位输出请用printf("%lld")
int main() {
int a,b;
while(scanf("%d %d",&a, &b) != EOF)//注意while处理多个case
printf("%d\n",a+b);
return 0;
}
- C++ 64位输出请用printf("%lld")
#include <iostream>
using namespace std;
int main() {
int a,b;
while(cin >> a >> b)//注意while处理多个case
cout << a+b << endl;
}
上一篇: python 时间 持续更新
下一篇: 「Node学习」开发环境的搭建