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计数复制粘贴相同的函数?
我有两个可变函数作为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来自遗留库,我无法更改其界面.