簡體   English   中英

C++:類型定義和嵌套類問題

[英]C++: typedefing and nested class issue

我有:

class ThreadPool
{
public:
    ....
private:
    struct TP_Thread: public Thread_t
    {
        ....
    };
    std::vector<std::tr1::shared_ptr<TP_Thread> >   m_threads;
   .....
};

我想做這樣的事情:

typedef std::tr1::shared_ptr<TP_Thread> shpThread;

縮短類定義中的寫作。 問題是我要么得到指向不完整類型的指針(因為類之前的前向聲明和公共部分的 typedef )或試圖訪問 ThreadPool 的私有成員(在這種情況下我試圖在類之外 typedef 它)。 我如何 typedef 以便我可以在實現過程中自由使用它?

為什么不在類的公共部分包含您的 typedef:

class ThreadPool
{
public:
    ....
private:
    struct TP_Thread: public Thread_t
    {
        ....
    };
public:
    typedef std::tr1::shared_ptr<TP_Thread> Shp;
    ...

然后在您的代碼中使用ThreadPool::Shp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM