Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;此函数调用之前的(void)是做什么的?_C++ - Fatal编程技术网

C++ C++;此函数调用之前的(void)是做什么的?

C++ C++;此函数调用之前的(void)是做什么的?,c++,C++,我在写这个问题的时候设法找到了答案。及时发布,希望能帮助未来遇到类似问题的开发人员。 下面是一个简短的概述: 我有一个定向的加权映射类。 我在:vector节点中跟踪所有节点 我在map中跟踪所有节点的相邻节点,当我写问题时,我能够回答我自己的问题。爱一个美好的时刻。希望这个问题能帮助未来的开发人员,他们也会错过这个问题最基本的答案 In将获取对[]内键值的引用(如果存在),如果不存在则创建一个。 因此在add(Node Node)函数中,(void)connections[Node]实际上是在

我在写这个问题的时候设法找到了答案。及时发布,希望能帮助未来遇到类似问题的开发人员。

下面是一个简短的概述: 我有一个定向的加权映射类。 我在:
vector节点中跟踪所有节点

我在
map中跟踪所有节点的相邻节点,当我写问题时,我能够回答我自己的问题。爱一个美好的时刻。希望这个问题能帮助未来的开发人员,他们也会错过这个问题最基本的答案

In将获取对[]内键值的引用(如果存在),如果不存在则创建一个。 因此在
add(Node Node)
函数中,
(void)connections[Node]
实际上是在邻接映射中创建节点


行之前的
(void)
命令编译器忽略任何有关此的警告,因为它在技术上是一行不完整的代码(根据编译器)。阅读更多关于
(void)

的含义,这个问题确切地说明了这种代码为什么不好:它使用了一种副作用来隐式地完成它应该做的事情,而不会让读者感到困惑,也不会试图让编译器沉默。
    set<Node> nodes; // {n1, n2...nn}
    map<Node, map<Node, int>> connections; //Connections between the nodes and their weights

    //Add node to graph
    void add(Node node) {
        nodes.insert(node); //add to node list
        (void) connections[node]; //This is the magic line!!
    }

    bool DFS(N start, N target) {

        for (Node node : nodes) {

    //This for-each loop crashes when the node in the .at() doesn't exist in the connections map
            for (pair<N, int> connectedNode : connections.at(node)) {
                if (target == connectedNode.first) {
                    return true;
                }
            }
        }
        return false;
    }