指针指向函数中的局部变量的地址的问题
2017-08-31 21:17
330 查看
在类中声明一个指针变量,并创建一个内部函数改变该指针变量的值。
(1).h文件
void readSettings();
QSettings *DialSettings;
(2).cpp文件
void MainWindow::readSettings()
{
QSettings BasicSettings( QLatin1String("BasicSettings/BasicSettings.ini"), QSettings::IniFormat);
if(!BasicSettings.contains("dialFile"))
{
BasicSettings.setValue("dialFile",":/img/svg/altimeter.svg");
}
DialSettings=&BasicSettings;
}
(3)出现的问题,调用readSettings函数后,DialSettings仍然是空指针。
(4)分析:在readSettings函数中将DialSetting指针指向本函数中的一个局部变量BasicSettings的地址。函数结束后局部变量BasicSettings被注销,DialSetting指针指向的地址变为空。
(1).h文件
void readSettings();
QSettings *DialSettings;
(2).cpp文件
void MainWindow::readSettings()
{
QSettings BasicSettings( QLatin1String("BasicSettings/BasicSettings.ini"), QSettings::IniFormat);
if(!BasicSettings.contains("dialFile"))
{
BasicSettings.setValue("dialFile",":/img/svg/altimeter.svg");
}
DialSettings=&BasicSettings;
}
(3)出现的问题,调用readSettings函数后,DialSettings仍然是空指针。
(4)分析:在readSettings函数中将DialSetting指针指向本函数中的一个局部变量BasicSettings的地址。函数结束后局部变量BasicSettings被注销,DialSetting指针指向的地址变为空。
相关文章推荐
- C++ 指向成员函数指针问题
- c/c++向函数传递指针并修改其指向的问题
- c/c++向函数传递指针并修改其指向的问题
- 指向函数的指针问题(一般函数和类函数)
- 指向函数的指针问题(一般函数和类函数)
- QP实现之函数指针数组无法获取正确地址的问题
- 多重继承下,不同基类指针指向同一子类对象的地址问题——腾讯一笔试题
- objective-c 函数参数 传地址 传指针 指向指针的指针
- 指针作为函数的形参,给指针所在地址赋值问题
- 针对上一篇指针问题详细说明(c++向函数传递指针并修改其指向的问题)
- 多重继承下,不同基类指针指向同一子类对象的地址问题——腾讯一笔试题
- 如果从函数中返回局部变量的地址,引用或者指针的形式,则变量类型必须是静态的或者常量,即不在栈中存储
- 64bit机器 C implicit-function-declaration 函数返回指针 地址值截断问题
- 函数调用缺少参数列表;请使用“&Student::Printf”创建指向成员的指针 问题解析
- 【c语言】编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间
- 有关指针函数不可以返回局部变量的地址的三种解决方法
- 从一段经典错误代码说起——关于局部变量指针和函数传参的问题分析
- 编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间。new(n)表示分配n个字节的内存空间。
- 习题 8.19(1) 编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间。new(n)表示分配n个字节的内存空间。
- C语言学习9: malloc动态内存存储,动态内存分配去空格字符增长版,动态内存分配去符号incr增长版,型参和返回值都是int型的函数的指针,main函数的地址也可以用指针指向,typedef定义函数指针,函数定义与嵌套的作用,返回函数指针类型,const作用