相关疑难解决方法(0)

指向类数据成员"::*"的指针

我遇到了这个编译好的奇怪的代码片段:

class Car
{
    public:
    int speed;
};

int main()
{
    int Car::*pSpeed = &Car::speed;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么 C++有一个指向类的非静态数据成员的指针?在实际代码中这个奇怪的指针有什么用?

c++ pointers class c++-faq

223
推荐指数
8
解决办法
15万
查看次数

我可以访问地址零吗?

常量0用作C和C++中的空指针.但随着问题"指向一个特定的固定地址 "似乎有一些可能使用分配固定地址.在任何系统中,对于访问地址0的任何低级任务,是否有任何可能的需求?

如果有,那怎么解决0为空指针而全部?

如果没有,是什么让它确定没有这种需要?

c c++ memory pointers

53
推荐指数
8
解决办法
7905
查看次数

分配指向未初始化变量的指针会改变它的值吗?

我在VisualStudio2010中玩c ++

请解释IT发生的原因:

int a, b;
int *p, *q;
cout << a << " " << b;
Run Code Online (Sandbox Code Playgroud)

打印出"0 0".嗯,这是可以理解的,未初始化的整数应为0; 但

int a, b;
int *p, *q;
p = &a;
cout << a << " " << b;
Run Code Online (Sandbox Code Playgroud)

输出为"1792816880 0"

因此,如果我将指针指定给未初始化的变量,则会更改默认值.为什么?

编辑澄清:问题不是关于未初始化变量的值

int a; int *p;
cout << a; // would be 0, because it's loacal variable
p = &a;
cout << a; //not 0;
Run Code Online (Sandbox Code Playgroud)

如何获得的指针一个可以改变它的价值?当我们初始化变量时,我们分配空间,一些位,它们可以是任何东西,但"p =&a"它实际上是否改变了这个空间中的位?

c++ pointers visual-studio-2010

3
推荐指数
1
解决办法
1433
查看次数

标签 统计

c++ ×3

pointers ×3

c ×1

c++-faq ×1

class ×1

memory ×1

visual-studio-2010 ×1