相关疑难解决方法(0)

为什么返回指向局部变量或参数的指针是不好的做法?

我在学习指南中发现了这个问题,我不确定为什么返回指向局部变量/参数的指针会很糟糕.有任何想法吗?

c variables parameters pointers local

2
推荐指数
1
解决办法
3590
查看次数

const char*允许更改字符值,为什么?

我有这个代码

int main()
{
    char A = 'E';

    const char * i;

    i = &A;

    A = 'B';

}
Run Code Online (Sandbox Code Playgroud)

实际上编译MSVC,为什么?是不是const char*应该指向一个常量字符变量?为什么我可以在最后一行将A改为'B'?

我错过了什么吗?

c++ const

1
推荐指数
2
解决办法
5487
查看次数

Const char ...改变了吗?

这是我简单程序的一部分

string appData = getenv("APPDATA");
const char *mypath= (appData+"\\MyApplication\\hello.txt").c_str();      
cout << mypath;  
// output: c:\users\xrobot\appdata\Roaming\Myapplication\hello.txt   
fstream file(mypath,ios::in);
ofstream filetemp;    
filetemp.open("world.bak");
cout << mypath;  
// output: É?7
Run Code Online (Sandbox Code Playgroud)

为什么mypath在那个奇怪的字符串中改变了?

c++

0
推荐指数
2
解决办法
269
查看次数

标签 统计

c++ ×2

c ×1

const ×1

local ×1

parameters ×1

pointers ×1

variables ×1