如何将这行代码从C++转换为Objective-C

How to translate this line of code from C++ to Objective-C

本文关键字:C++ 转换 Objective-C 代码      更新时间:2023-10-16

我需要将这一行从C++翻译成Objective-C 但我真的不明白这句话

IntVar* MakeIntVar(int64 vmin, int64 vmax, const std::string& name);

这对我来说似乎是一个没有返回值的函数?

顺便说一下,IntVar是一个类

class IntVar;

Objective-C是C的扩展。你应该习惯于调用Objective-C方法和C函数。

对于方法,您可以在@interface中定义它们,通常写在.h文件中,并在@class中实现它们,写入.m文件中。

你可能不写很多C函数,但你会使用它们:例如NSLog()sin()。C 函数是独立的,不像 C 那样属于类,但您通常在.h中有一个定义(或原型),在.c中实现。

如果上面的C部分不熟悉,那么在你的Objective-C代码中写一个对NSLog(或sin等)的调用,然后查找它的定义(在Xcode中选择NSLog,右键单击/控制单击并选择"跳转到定义")。您将看到一条与您的问题非常相似的行。

你得到的是一个函数(MakeIntVar)的定义,它接受三个参数并返回一个值。函数的 threes 参数具有 C++ 类型,并且是C++引用参数(&位),您需要了解C++才能知道如何调用此函数。

从您的问题/评论中不清楚您是将C++翻译成Objective-C还是尝试从Objective-C调用C++。如果是后者,您可能需要在Objective-C++中编写一些桥接代码(编写在.mm文件中)。你需要学习如何编写Objective-C++并从Objective-C等调用它。

呵呵