Cocoa-Touch/Objective-C中的向量
可以在触摸屏中使用矢量吗?如果是,必须包括哪些库 我在遵循一个关于它们的通用C教程,唯一需要做的就是Cocoa-Touch/Objective-C中的向量,objective-c,cocoa,cocoa-touch,vector,Objective C,Cocoa,Cocoa Touch,Vector,可以在触摸屏中使用矢量吗?如果是,必须包括哪些库 我在遵循一个关于它们的通用C教程,唯一需要做的就是#包括 但是XCode声明没有这样的文件或目录 任何指向提供这种功能的库的指针都是值得赞赏的 问候 ~dhpObjective-C是C的超集,因此任何C都可以使用它们。但是,代码>:ST::vector < /Cord>是C++类,这意味着编译器必须意识到你将在程序中使用C、ObjuleC和C++代码。您可以将源文件的扩展名从.m更改为.mm 但是,如果你仍然处于学习Objto-C或C++的阶段,
#包括
但是XCode声明没有这样的文件或目录
任何指向提供这种功能的库的指针都是值得赞赏的
问候
~dhpObjective-C是C的超集,因此任何C都可以使用它们。但是,<>代码>:ST::vector < /Cord>是C++类,这意味着编译器必须意识到你将在程序中使用C、ObjuleC和C++代码。您可以将源文件的扩展名从.m
更改为.mm
但是,如果你仍然处于学习Objto-C或C++的阶段,尽量不要把太多的C++和它混合在一起。C++使用“非POD类型”(POD是“普通的旧数据”),它本质上与采取变量参数的函数不兼容;在引擎盖下,所有Objy-C调用都是这样工作的,如果你不太确定它是如何工作的,那么通过Objy-C调用可以使C++变得复杂。你也可以使用Cocoa的
NSMutableArray
类。我想出来了。。。按照以下3个步骤操作:
使用扩展文件名.mm
#包括“向量”
使用此代码:
std::vector myVector(20);
而不是仅仅使用向量myVector(20);
<>现在你有一个全新的C++向量在Objul-C.</P> < P> >:如何?
struct Vector { float r, x, y, z; };
typedef struct Vector Vector;
CG_INLINE Vector
VectorMake(CGFloat x, CGFloat y, CGFloat z)
{
Vector vector; vector.x = x; vector.y = y; vector.z = z;return vector;
}
向量是来自C++,而不是C。这有很多含义。<代码>包含< /代码>是C++,不是C。谢谢你们的伟大响应。我已经和Objc工作了相当长的时间,但从来没有需要进入C++(在生命中),在经历Basic、Pascal、Fortran、VB.NET/C++、O/Objc和最近的java(就像我进入Android)之后,我仍然害怕C++。(顺便说一句,这是我想玩的图书馆:再次表示问候和感谢time@dhomes这些不是STL向量,而是一些第三方向量对象。该语言看起来也不像C。它们使用的大致相当于struct vector{float x,y,z;}C++,这是一个POD,因此可以随意抛出ObjultC调用。C++中的STD库中的向量是一种数组,而不是你想的空间中的数学点。使用命名空间STD;在Vector中删除声明命名空间的必要性,但是使用<代码>使用命名空间STD;经常被认为是一种坏习惯。
struct Vector { float r, x, y, z; };
typedef struct Vector Vector;
CG_INLINE Vector
VectorMake(CGFloat x, CGFloat y, CGFloat z)
{
Vector vector; vector.x = x; vector.y = y; vector.z = z;return vector;
}