我是Abaqus C++ API的新手,对语法有疑问。
db_Odb& odb = openOdb("file.odb");
odb_Step& step = odb.steps()["Step-1"];
odb_Instance& instance =
odb.rootAssembly().instances()["PART-1-1"];
在某些情况下,语法类似于
odb.steps()["Step-1"]
。我的问题在
odb.steps()["Step-1"]
中:odb
对象吗? steps()
对象的方法吗? steps()["str"]
?我没有在常规C++语法中看到它。 最佳答案
要回答您的问题:是,是,并使用索引运算符。这都是标准的C++语法。
根本不了解所讨论的库,该类可能看起来像这样:
class db_Odb
{
public:
std::unordered_map< std::string, odb_Step >& steps();
// ...
};
因此
odb.steps()
返回一个可索引的对象(这里我使用了一个哈希映射),然后我们通过附加["Step-1"]
来查找其中的键,odb_Step
调用该映射的index operator并返回对该映射中单个ojit_code实例的引用。关于c++ - Abaqus C++ API语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55364169/