public member function
<typeinfo>

std::type_info::before

bool before (const type_info& rhs) const;
bool before (const type_info& rhs) const noexcept;
比较类型的顺序
返回某个实现定义的顺序中,该类型是否位于 rhs 所标识的类型之前。

这种实现定义的顺序不一定与大小、继承关系或声明顺序相关,并且可能因程序而异。

参数

rhs
一个标识类型的type_info对象。

返回值

如果由 *this 标识的类型被认为位于 rhs 标识的类型之前,则返回 true,否则返回 false

示例

1
2
3
4
5
6
7
8
9
10
11
12
// ordering types
#include <iostream>   // std::cout
#include <typeinfo>   // operator typeid

int main() {
  if ( typeid(int).before(typeid(char)) )
    std::cout << "int goes before char in this implementation.\n";
  else
    std::cout << "char goes before int in this implementation.\n";

  return 0;
}

可能的输出
char goes before int in this implementation.


异常安全

无异常保证:此成员函数从不抛出异常。

另见