Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 这是C++;在Objective-C代码文件中?_C++_Objective C_Xcode_Syntax - Fatal编程技术网

C++ 这是C++;在Objective-C代码文件中?

C++ 这是C++;在Objective-C代码文件中?,c++,objective-c,xcode,syntax,C++,Objective C,Xcode,Syntax,我正在浏览苹果公司的一个名为Mixer Host的示例项目。回调函数中有几行使用“->”语法来引用作为结构的mbuffer。我认为这是C++语法,但是这个文件有一个.m扩展,我认为是C加ObjuleC扩展。这是C++语法吗?我可以把C++语法放进.m文件中,而不用用XCODE? AudioUnitSampleType *outSamplesChannelLeft; AudioUnitSampleType *outSamplesChannelRight; outSamplesChannelLe

我正在浏览苹果公司的一个名为Mixer Host的示例项目。回调函数中有几行使用“->”语法来引用作为结构的mbuffer。我认为这是C++语法,但是这个文件有一个.m扩展,我认为是C加ObjuleC扩展。这是C++语法吗?我可以把C++语法放进.m文件中,而不用用XCODE?
AudioUnitSampleType *outSamplesChannelLeft;
AudioUnitSampleType *outSamplesChannelRight;  
outSamplesChannelLeft                 = (AudioUnitSampleType *) ioData->mBuffers[0].mData;
if (isStereo) outSamplesChannelRight  = (AudioUnitSampleType *) ioData->mBuffers[1].mData;

我不知道Objective-C,但“->”从K&R时代起就一直在C中。我确信它是有效的Objto-C。它不是C++的添加。< /P> < P>我不知道ObjuleC,但是“->”自从C K& R天以来一直在C中。我确信它是有效的Objto-C。它不是C++的添加。< /P> < P>不,这是完全有效的C。这是你如何通过C和C++中的指针引用数据成员。


<>在C++中,你也可以用这种方式引用成员函数,但是在函数中没有函数调用。

不,这是完全有效的C。这是你如何通过C和C++中的指针引用数据成员。


<>在C++中,你也可以引用成员函数,但是没有函数调用。

假设是一个结构/类,它可以是C++或Objtovi.C,因为纯C在声明变量(指针)之前,需要在其名称之前声明<代码> Stutt。它可能是其他任何东西。通常,Objective-C++文件具有
.mm
扩展名,除非将Xcode更改为将
.m
文件视为Objective-C++,这是不可能的。因此,这个代码原来是Objto-C.< /P> < P>假定是一个结构/类,它可以是C++或Objtovi.C,因为纯C在声明变量(指针)之前,需要在其名称之前声明<代码>结构> /代码>。它可能是其他任何东西。通常,Objective-C++文件具有
.mm
扩展名,除非将Xcode更改为将
.m
文件视为Objective-C++,这是不可能的。所以这段代码是Objective-C。

谢谢,我已经浏览了我的编程C书,还没有看到这个语法。谢谢,我一直在浏览我的C语言编程书,但没有看到这种语法。你可以声明
typedef struct foo foo
struct foo
从结构名称空间中带出来,并在不使用
struct
关键字的情况下引用它。@greyfade:哦,这就是C程序员为什么要这么做的原因:-)很高兴知道。我是C++的人,我对C的了解更多,我不喜欢。尽管公众总是说“C/C++”。。。这就像说“C/Cobol”。你可以声明
typedef struct foo foo
struct foo
从结构名称空间中带出来,并在不使用
struct
关键字的情况下引用它。@greyfade:哦,这就是为什么C程序员会这么做的原因:-)很高兴知道。我是C++的人,我对C的了解更多,我不喜欢。尽管公众总是说“C/C++”。。。这就像说“C/Cobol”。