在C ++中传递指向函数的指针

时间:2016-08-18 22:04:48

标签: c++ pointers

所以我开始学习C ++中的指针。关于将指针传递给函数的主题,我看到了两种不同的可能实现:

1

#include <stdio.h>

void multiplyBy2(int *num);

int main(int argc, char *argv[]) {
    int six = 6;
    printf("%d\n", six);
    multiplyBy2(&six);
    printf("%d\n", six);
}

void multiplyBy2(int *num) {
    *num *= 2;
}

2。

#include <stdio.h>

void multiplyBy2(int &num);

int main(int argc, char *argv[]) {
    int six = 6;
    printf("%d\n", six);
    multiplyBy2(six);
    printf("%d\n", six);
}

void multiplyBy2(int &num) {
    num *= 2;
}

这两个在编译和运行时都具有完全相同的输出:

6
12

我的问题是,这些与实现之间有什么区别,并且比另一个更好吗?

0 个答案:

没有答案