相关疑难解决方法(0)

有没有办法在VS2012中编写make_unique()?

Herb Sutter提出了一个简单的实现make_unique():http://herbsutter.com/gotw/_102/

这里是:

template<typename T, typename ...Args>
std::unique_ptr<T> make_unique( Args&& ...args )
{
    return std::unique_ptr<T>( new T( std::forward<Args>(args)... ) );
}
Run Code Online (Sandbox Code Playgroud)

我的问题是可变参数模板还不是VS2012的一部分,所以我不能按原样使用这个代码.

有没有一种可维护的方法在VS2012中写这个不会涉及使用不同的args计数复制粘贴相同的函数?

c++ templates unique-ptr variadic-templates c++11

16
推荐指数
2
解决办法
6356
查看次数

使用另一个可变参数函数的未命名参数调用可变参数函数

我有两个可变函数作为foo(format, ...)bar(format, ...).我想实现函数,foo以便它可以bar使用相同的参数列表调用它.那是,

foo(format...)
{
 ...
 bar(format, ...);
}
Run Code Online (Sandbox Code Playgroud)

例如,调用foo("(ii)", 1, 2)bar使用相同的参数调用bar("(ii)", 1, 2).该foo功能应该如何实施?

PS:函数bar来自遗留库,我无法更改其界面.

c c++ variadic-functions

9
推荐指数
2
解决办法
1785
查看次数