Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;不带typedefs的模板类的模板,是否可能?_C++_Templates_Standards - Fatal编程技术网

C++ C++;不带typedefs的模板类的模板,是否可能?

C++ C++;不带typedefs的模板类的模板,是否可能?,c++,templates,standards,C++,Templates,Standards,正如标题所说,有没有办法把这样的东西拉上来 std::set<boost::shared_ptr<MyClass>> variable; std::set变量; 我知道这违反了标准的某些版本,但可以避免吗?您通常应该在两个字符之间留出一个空格: std::set<boost::shared_ptr<MyClass> > variable; std::set变量; 当然,MyClass应该在编写上述代码之前声明 最新的C++11标准消除了在出

正如标题所说,有没有办法把这样的东西拉上来

std::set<boost::shared_ptr<MyClass>> variable;
std::set变量;

我知道这违反了标准的某些版本,但可以避免吗?

您通常应该在两个
字符之间留出一个空格:

std::set<boost::shared_ptr<MyClass> > variable;
std::set变量;
当然,
MyClass
应该在编写上述代码之前声明


最新的C++11标准消除了在出现的
之间放置空格的需要。

您通常应该在两个
字符之间放置空格:

std::set<boost::shared_ptr<MyClass> > variable;
std::set变量;
当然,
MyClass
应该在编写上述代码之前声明


最新的C++11标准消除了在出现的
之间放置空格的需要。

在旧标准中>>被作为输入运算符,我想,与它的使用位置无关。

在旧标准中>>被作为输入运算符,我想,与它的使用位置无关。

你到底想做什么?你的代码工作正常。你到底想做什么?你的代码工作得很好。是的,这就是为什么我写的“通常”。但是C++ 11标准完全实现了,或者至少是C++编译器中的这一部分??它取决于编译器的版本。当GCC 4.6被调用为“代码> G++-4.6 STD= C++ +0x”时,可以避免<代码> >代码>之间的空间,这就是为什么我写“通常”的原因。但是C++ 11标准完全实现了,或者至少是C++编译器中的这一部分??取决于编译器的版本。使用GCC4.6,当作为
g++-4.6-std=c++0x
调用时,可以避免
>
>
之间的空格实际上是右移运算符。iostream超载了。(虽然不是很重要)。
>
实际上是一个右移操作员。iostream超载了。(但这并不重要)。