我想为一些文件添加一些元数据属性.就像doc文件的所有者,计算机,标题,主题等一样,我希望能够添加一些自定义属性.怎么办?
我有一个类MyCloth和一个该类的对象实例,我实例化如下:
MyCloth** cloth1;
Run Code Online (Sandbox Code Playgroud)
在程序的某一点上,我会做这样的事情:
MyCloth** cloth2 = cloth1;
Run Code Online (Sandbox Code Playgroud)
然后在某个时候以后,我要检查,看是否cloth1和cloth2是相同的.(像Java中的对象相等,只有这里,MyCloth是一个非常复杂的类,我不能构建一个isEqual函数.)
我怎样才能进行这种平等检查?我想也许可以检查他们是否指向相同的地址.这是一个好主意吗?如果是这样,我该怎么做?
我想创建一个代表某种结构的元素向量.
问题是我不知道结构会有多少元素,因为数字会经常变化,我真的不知道如何创建一个矢量.
怎么做到的?
为了使它更清楚:
我在创建矢量时看到了这样的事情:
std::vector<structureType> vectorName(nrOfElements);
Run Code Online (Sandbox Code Playgroud)
括号内我不知道元素的数量和在那里写的内容.
我有一个带有以下标题的函数:
std::vector<NxU32> MySewer::createCuttingArray(MyCloth** cloth, NxU32 startPoint, NxU32 endPoint)
Run Code Online (Sandbox Code Playgroud)
该函数应该返回包含一些整数值的向量.但是有一个问题:如果没有正确创建行(有一种方法可以发生这种情况),我想做一些类似我在Java和C#中所做的事情来返回NULL.但是从我看到的,在C++中,NULL被定义为整数值.如何为向量返回有效的NULL?
我目前在我的程序中使用了一个向量,我得到了一些奇怪的错误,这些错误只在我开始使用该类后出现.
错误是:
1>MyCloth.obj : error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "public: unsigned int & __thiscall std::vector<unsigned int,class std::allocator<unsigned int> >::operator[](unsigned int)" (??A?$vector@IV?$allocator@I@std@@@std@@QAEAAII@Z)
1>libcpmtd.lib(stdthrow.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>D:\Licenta\Project\IOPBTS\Debug\IOPBTS.exe : fatal error LNK1120: 1 unresolved externals
Run Code Online (Sandbox Code Playgroud)
我的代码是:
在头文件中:
#undef vector
#include <vector>
void findPieceVertices(NxU32 selectedVertex);
bool checkVertexExistsInClothPieceElements(int vertex);
void findVertexTriangles(NxU32 vertex);
std::vector<NxU32> clothPieceElements;
Run Code Online (Sandbox Code Playgroud)
在cpp文件中:
bool MyCloth::checkVertexExistsInClothPieceElements(int vertex)
{
for(int i=0;i<clothPieceElements.size();i++)
if(clothPieceElements[i]==vertex)
return true;
return false;
}
void MyCloth::findVertexTriangles(NxU32 vertex)
{
NxMeshData data = mCloth->getMeshData();
NxU32* …Run Code Online (Sandbox Code Playgroud) 我是c ++指针的新手,我有一个从指针获取值的问题.
我有一个指针verticesPosBegin,它指向用于保存顶点位置的数组的开头.每个顶点存储为3分量浮点矢量(xyz).
我需要从中获取每个顶点并访问其x,y,z值.
我是通过以下方式做到的:
NxVec3* positions = (NxVec3*)data.verticesPosBegin;
for(int i=0;i<nrVertices;i++)
{
NxVec3* p1 = (NxVec3*)positions;
printf("Vertex coordinates x: %d, y: %d, z: %d\n", p1->x, p1->y, p1->z);
positions++;
}
Run Code Online (Sandbox Code Playgroud)
(NxVec3是由我使用的物理引擎定义的类型,它基本上是一种形式的结构(float x,float y,float z))
但这不会得到坐标的值,但我想,地址,因为它们代表非常大的数字.任何帮助将不胜感激.