小编FDu*_*dul的帖子

对于内存动态分配的类,不使用"*"的逻辑

所以我正在学习c ++,我刚刚学习了动态分配的内存.有些东西让我觉得很奇怪.

int main()
{
    person* pOne = new person("mike", 35);
    cout << pOne << " " << pOne->getName() << endl;

    person pTwo = { "dave", 30 };
    cout << pTwo.getName() << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我认为当我们想在pOne中调用getName()函数时,我们应该这样做,*pOne->getName()因为pOne持有内存位置,而不是person对象本身.但如果我这样做,我将有编译器错误.

我这样做pTwo不是动态分配的,它像我一样工作.

那么,有人可以解释在尝试调用函数时不使用"*"的逻辑吗?

c++

4
推荐指数
2
解决办法
153
查看次数

从函数返回一个复数

我想为变量分配一个虚数:

import math

a = sqrt(4)j
print(a)
Run Code Online (Sandbox Code Playgroud)

这会导致SyntaxError:

Line 3: SyntaxError: bad input ('j')
Run Code Online (Sandbox Code Playgroud)

我可以像这样给变量分配一个虚数:

a = 2j
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

python

-4
推荐指数
1
解决办法
85
查看次数

标签 统计

c++ ×1

python ×1