gpt4 book ai didi

c# - 较少内存的方法

转载 作者:行者123 更新时间:2023-11-30 21:31:10 24 4
gpt4 key购买 nike

如果我有以下方法:

void addfive(int num)
{
num = num + 5;
}

当我在主例程中使用它时,如下所示:

int a = 15;
addfive(a);

将会发生的情况是,5 将被添加到 (a) 变量的拷贝中。但如果方法参数是指针 int* num 而不是 int num
5
将被添加到 (a) 变量并且不会创建任何拷贝。

如果我在方法中使用指针,这会比第一个方法使用更少的内存吗?这会在 non_void 方法中工作吗?

最佳答案

如果您使用指针,它仍然会使用内存,并且通常会小于类型使用的内存,但在您的具体情况下,根据您的系统(您的操作系统和应用程序),int * 可能比 int 使用更多的内存,使用 sizeof 来查看类型和指针的大小,例如在 64 位应用程序构建中使用此行:

std::cout << "Size of int is: " << sizeof(int) << ", size of int* is: " << sizeof(int*) << "\n";

但是通过指针或引用传递的另一个用途是能够对函数进行编码,以便对作为参数传递的对象(或内置类型)留下副作用。

关于c# - 较少内存的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17010018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com