Abaqus C++ API 语法

Abaqus C++ API syntax

我是 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"]:

回答你的问题:对对对,还有索引运算符。这都是标准的 C++ 语法。

在完全不知道所讨论的库的情况下,class 可能看起来像这样:

class db_Odb
{
public:
    std::unordered_map< std::string, odb_Step >& steps();
    // ...
};

所以 odb.steps() returns 一个可索引对象(这里我使用了哈希映射),然后我们通过附加 ["Step-1"] 来查找其中的键,它调用地图的 index operator 和 returns 对该地图中单个 odb_Step 实例的引用。