我是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/

    10-11 18:19