小编gnm*_*gnm的帖子

我只是没有得到C++指针/参考系统

我从未遇到像Python(隐式)或PHP(显式&)那样的引用问题.在PHP中,您可以编写$p = &$myvar;$p作为参考指向$myVar.

所以我知道在C++中你可以这样做:

void setToSomething( int& var )
{
 var = 123;
}
int myInt;
setToSomething( myInt );
Run Code Online (Sandbox Code Playgroud)
  • myInt现在是123,为什么?

不是指C++中"x的内存地址"?如果var只是地址myInt而不是指针,我该怎么办?

void setToSomething( int* var )
{
 *var = 123;
}
int myInt;
int* myIntPtr = &myInt;
setToSomething( myIntPtr );
Run Code Online (Sandbox Code Playgroud)
  • 上述工作是否符合预期?

我完全不理解*和&之间在C++中的区别.他们告诉你并且习惯于获取变量的地址,但是为什么它会帮助你处理函数等.就像在第一个例子中一样?

c++

9
推荐指数
2
解决办法
9070
查看次数

C++字符串指针

在我以前的应用程序中,我有一个这样的对象:

class myType
{
public:
 int a;
 string b;
}
Run Code Online (Sandbox Code Playgroud)

它有很多实例分散在各处,并传递给几乎所有的功能.

该应用程序很慢.分析说,95%的时间被字符串分配器功能吃掉.

我知道如何使用上面的对象,但不知道如何使用字符串指针.

class myType
{
public:
 int a;
 string* b;
}
Run Code Online (Sandbox Code Playgroud)

他们告诉我如上所述使用指针.

  • 字符串指针多快多快?
  • 复制对象时复制的内容是什么?

  • 如何使用带有指针的类:

访问字符串值

修改字符串值而不修改对象中的值(复制?)

如果我使用字符串指针会改变一般的东西?

c++

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

标签 统计

c++ ×2