我听说const意味着线程安全的C++ 11.真的吗?
这是否意味着const现在是等效的Java的synchronized?
他们的关键字用完了吗?
#pragma pack(push,1)有人能告诉我和之间的区别__attribute__((packed))吗?如果我使用第二种类型的结构打包,我会收到编译错误
\n\n\nRun Code Online (Sandbox Code Playgroud)\ncannot bind packed field \xe2\x80\x98ABC.abc::a\xe2\x80\x99 to \xe2\x80\x98unsigned int&\xe2\x80\x99\n
但如果我使用第一种类型的结构打包,则不会出现编译错误。
\n\n这是我的示例代码:
\n\n//DataStructure.h\n\n#ifndef DATASTRUCTURE_H_\n#define DATASTRUCTURE_H_\n\nstruct abc\n{\n unsigned int a;\n float b;\n}__attribute__((packed));\n\n#endif /* DATASTRUCTURE_H_ */\n\n\n\n//Main.cpp\n#include<iostream>\n#include<map>\n#include "DataStructure.h"\n\n\nint main()\n{\n struct abc ABC;\n ABC.a=3;\n ABC.b=4.6f;\n\n std::map<unsigned int,struct abc> Mapp;\n Mapp.insert(std::make_pair(ABC.a,ABC));\n}\nRun Code Online (Sandbox Code Playgroud)\n