gpt4 book ai didi

c++ - 在哪里保留 typedef,我是否应该重复 typedef

转载 作者:太空狗 更新时间:2023-10-29 19:39:46 27 4
gpt4 key购买 nike

假设我有三个文件

//first.h
typedef typename std::map<Vertex_t*,Vd_t> MapVertexVd_t;
//the graph class and ...
//other useful things related to a graph class

//second.h
#include "first.h"
class analyzeGraph {
MapVertexVd_t mapVertexVd;

public:
void fillMap();
};

//second.cpp
#include "second.h"
void analyzeGraph::fillMap()
{
//
}

现在的问题是我应该放置:

typedef typename std::map<Vertex_t*,Vd_t> MapVertexVd_t;

为了清楚起见,在文件 second.h 和 second.cpp 中。我觉得我会感到困惑一段时间后,我的代码中到处都是太多的 typedef 和 typename。

最佳答案

我发现根据具体情况,这些效果很好:

  • 对于跨大量文件使用的 typedef,将它们放在共享头文件中(可能带有前向声明等)
  • 对于仅由几个函数或方法(在声明中)使用的 typedef,将它们放在紧靠第一个相关声明之前,并确保函数一起声明。
  • 对于用于类或函数中数据的 typedef,将它们放在相关范围的开头,以便阅读代码的人首先看到它们。 (对于类,尽可能降低 typedef 的可见性——私有(private) typedef 应该保持私有(private)。)

关于c++ - 在哪里保留 typedef,我是否应该重复 typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6675098/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com