我来自 Objective-C 世界并学习了一些 C++ 来将 box2D 集成到我的应用程序中。我发现了class::function
C++ 中的语法,我想知道它是否与类方法相比,但我看到同一个方法调用了一次 with::
和一次 with ->
。是否有任何等效于 C++ 中的类方法?
问问题
311 次
3 回答
5
好吧,您的问题声明与其定义不符,但无论如何让我尝试启发您...
+ (void)method
Objective-C 中的类与::
C++ 中的范围运算符之间的比较
它们并不完全相同。C++ 具有命名空间,因此NameSpace::func()
意味着“调用func
位于命名空间中的函数NameSpace
”。
它也用于调用静态成员函数,但这不是它的唯一目的。
是否有任何等效于 C++ 中的类方法?
是的,正如我刚刚写的:static
类成员属于类,而不是类的实例。
于 2013-08-05T14:00:06.070 回答
2
是否有任何等效于 C++ 中的类方法?
是的,简单地使用这样的静态方法:
class MyClass
{
public:
static void classFunc() { }
};
MyClass::classFunc();
于 2013-08-05T13:59:56.540 回答
1
::
就是所谓的“ ” scope-operator
,例如,您可以使用它从 C++ 类中调用静态方法。
" ->
"-Operator 用于取消引用指向对象的成员(成员和方法等)。
在计算机编程中,作用域是值和表达式相关联的封闭上下文。范围解析运算符有助于识别和指定标识符所指的上下文。不同的编程语言的具体用途因范围概念而异。在许多语言中,范围解析运算符写为 ::。
class A
{ //
static int i; //scope of A
}; //
A::i = 4; //scope operator refers to the integer i declared
于 2013-08-05T13:58:54.523 回答