首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std :: list <std :: unique_ptr <T >>:传递它

代码语言:cpp
复制
#include <iostream>
#include <list>
#include <memory>
#include <typeinfo>

class T {
public:
    // 类T的声明
};

int main() {
    // 创建一个std::unique_ptr<T>对象,并把它添加到std::list<std::unique_ptr<T>>中
    std::list<std::unique_ptr<T>> lst;
    lst.push_back(std::make_unique<T>());

    // 遍历std::list<std::unique_ptr<T>>中的元素,并访问它们的T类型
    for (const auto& ptr : lst) {
        const std::type_info& info = typeid(ptr.get());
        std::cout << "Object of type " << info.name() << " found." << std::endl;
    }

    return 0;
}

以上代码首先包含了必要的头文件,然后创建了一个std::list<std::unique_ptr<T>>对象,其中T是一个用户定义的类型。接着,我们使用std::make_unique<T>来创建一个std::unique_ptr<T>对象,并将其添加到std::list<std::unique_ptr<T>>中。最后,我们使用typeid操作符来获取std::unique_ptr<T>对象的类型信息,并将其打印出来。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券