gpt4 book ai didi

c++ - 一个函数知道它的参数占用多少内存吗?

转载 作者:太空宇宙 更新时间:2023-11-03 10:42:54 26 4
gpt4 key购买 nike

当我们调用按值传递的函数时,我们在内存中复制了实际参数的值。

问题是:函数是否知道它的参数在内存中占用了多少空间?如果答案是肯定的,我们如何在函数范围内检索它?

如果答案是否定的,我们是否有潜在的隐藏内存错误?

考虑这个例子:

#include <stdio.h>
void func(char * X)
{
X +=98;
*X='C'; //is this really OK? or we have hidden memory error?
*++X='\0';
--X;
puts(X); }

int main()
{
char A[100];
char *B =A;
func(B);
return 0;
}

最佳答案

您有一个潜在的隐藏错误。不要手动做那些废话,你自己总是使用像 std::string 这样的东西。

关于c++ - 一个函数知道它的参数占用多少内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30568645/

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