小编reg*_*psj的帖子

std :: make_pair类型扣除

我遇到了一些奇怪的事情,我想要解释一下.以下代码片段提供了一个简单的类模板type和两个operator<<s:一个用于特化type,一个用于特std::pairtype.

#include <ostream>
#include <utility>

template <typename T>
class type {

public:

  T value_;

};

template <typename CTy, typename CTr, typename T>
std::basic_ostream<CTy,CTr>&
operator<<(std::basic_ostream<CTy,CTr>& os, type<T> const& a)
{
  return os << a.value_;
}

template <typename CTy, typename CTr, typename T>
std::basic_ostream<CTy,CTr>&
operator<<(std::basic_ostream<CTy,CTr>& os, std::pair<T const, T const> const& a)
{
  return os << a.first << ',' << a.second;
}

#include <iostream>

int
main()
{
  using float_type = type<float>;

  float_type …
Run Code Online (Sandbox Code Playgroud)

c++ templates stl c++11

4
推荐指数
1
解决办法
959
查看次数

标签 统计

c++ ×1

c++11 ×1

stl ×1

templates ×1