Khả năng đánh index của mảng bằng String thay vì số nguyên trong C++?

cho e hỏi trong C++ có biểu diễn mảng có chỉ số là kí tự đc ko ạ? như pascal í
vd: match[’ ‘…’]’]

về lý thuyết khái niệm thì không, nhưng ta có thể dùng mã ascii của các kí tự để làm index
ví dụ: arr['a'] tức là phần tử có chỉ số là mã ascii của kí tự ‘a’ tức là 97, tức là a[97]
nói là lý thuyết khái niệm là bởi vì theo đúng lý thuyết định nghĩa thì C++ k có vụ index là kí tự, nhưng mà dùng cách kia thì ta có thể sử dụng giống như ở pascal, tức là vẫn có các kiểu như

arr['a'] = 1;
for (char i = 'a'; i <= 'z'; i++)
    arr[i] = 123;

bla bla bla

dạ e cảm ơn :slight_smile:

Còn kiểu này là như thế nào nhỉ (như kiểu indexer C#):

int ret = MyObject.Data["Data1"];
int ret2 = MyObjecr.Data["Data2"];

ủa nhớ C# cũng bắt index là number mà
còn nếu dùng string giả làm index thì nhớ hình như chỉ có Dictionary trong C# (hay trong C++) thôi

c# có indexer nên có thể tạo index với nhiều kiểu dữ liệu khác nhau chứ không nhất thiết chỉ số nguyên hay là string

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?