C++ 如果我想创建一组固定的字符,以下哪一个声明是正确的?

C++ 如果我想创建一组固定的字符,以下哪一个声明是正确的?,c++,C++,如果我想创建一组固定的字符,以下哪一个声明是正确的?它们不同吗?如果是,怎么做 const std::set<char> S; const std::set S; 对 std::set<const char> S; std::set S; 在第一个选项中: const std::set<char> S; const指的是char,即char元素是const 你可能正在寻找第一份声明。注意:因为它是常量,所以必须在实例化时初始化s。FWIW:std::s

如果我想创建一组固定的字符,以下哪一个声明是正确的?它们不同吗?如果是,怎么做

const std::set<char> S;
const std::set S;

std::set<const char> S;
std::set S;
在第一个选项中:

const std::set<char> S;
const
指的是
char
,即
char
元素是
const


你可能正在寻找第一份声明。注意:因为它是常量,所以必须在实例化时初始化
s

FWIW:std::set的成员无论如何都是常量,即使您声明了
std::set<const char> S;