最終更新日時(UTC):
が更新

履歴 編集

function template
<string>

std::operator<

namespace std {
  // operator<=>により、以下の演算子が使用可能になる (C++20)
  template <class CharT, class Traits, class Allocator>
  bool
    operator<(const basic_string<CharT, Traits, Allocator>& a,
              const basic_string<CharT, Traits, Allocator>& b);          // (1) C++03
  template <class CharT, class Traits, class Allocator>
  bool
    operator<(const basic_string<CharT, Traits, Allocator>& a,
              const basic_string<CharT, Traits, Allocator>& b) noexcept; // (1) C++14
  template <class CharT, class Traits, class Allocator>
  constexpr bool
    operator<(const basic_string<CharT, Traits, Allocator>& a,
              const basic_string<CharT, Traits, Allocator>& b) noexcept; // (1) C++20

  template <class CharT, class Traits, class Allocator>
  bool
    operator<(const CharT* a,
              const basic_string<CharT, Traits, Allocator>& b);          // (2) C++03
  template <class CharT, class Traits, class Allocator>
  constexpr bool
    operator<(const CharT* a,
              const basic_string<CharT, Traits, Allocator>& b);          // (2) C++20

  template <class CharT, class Traits, class Allocator>
  bool
    operator<(const basic_string<CharT, Traits, Allocator>& a,
              const CharT* b);                                         // (3) C++03
  template <class CharT, class Traits, class Allocator>
  constexpr bool
    operator<(const basic_string<CharT, Traits, Allocator>& a,
              const CharT* b);                                         // (3) C++20
}

概要

basic_stringにおいて、左辺が右辺より小さいかの判定を行う。

戻り値

#include <iostream>
#include <string>

int main()
{
  std::string a = "aaa";
  std::string b = "bbb";

  std::cout << std::boolalpha;
  std::cout << (a < b) << std::endl;
}

出力

true

参照