2011-12-27 55 views
5

thể trùng lặp:
Convert string to variable name or variable typeLàm thế nào để sử dụng một chuỗi như là một tên biến trong C + +?

Làm thế nào để sử dụng giá trị chuỗi như một tên biến trong C++

string listName = "hari"; 
string vectorName = "BF_vector_"+listName; 
vector<string> vectorName; 

vectorName.push_back("Some Value"); 

Làm thế nào để sử dụng giá trị chuỗi ("BF_vector_hari") của vectorName như một tên biến của vector.? Cảm ơn trước.

+0

Bạn muốn tự động tạo biến số vectơ có tên "BF_vector_hari" tương tự với $ double của php? – Lalaland

+6

Bạn ... không! Ngay cả trong các ngôn ngữ * làm * hỗ trợ điều này ... suy nghĩ hai lần. –

+0

@EthanSteinberg có. Tôi muốn đặt tên biến động dựa trên giá trị chuỗi. – DreamCodeer

Trả lời

9

Bạn không thể sử dụng C++.

Một điều bạn có thể làm là sử dụng một hình thức std::map<std::string, std::vector> để lưu tên vào bản đồ vectơ.

+0

Cảm ơn. Không muốn làm cho mã phức tạp hơn. – DreamCodeer

+0

phức tạp hơn những gì? –

6

Bạn không.

Tên biến là cấu trúc biên dịch. Nội dung của một chuỗi là một khái niệm thời gian chạy (chuỗi ký tự hơi khác nhau, nhưng những chuỗi đó sẽ không hoạt động). Trừ khi bạn viết một lớp bản đồ cụ thể (ánh xạ một tên chuỗi cho một số đối tượng), bạn không thể chỉ sử dụng một chuỗi làm tên biến.

Hoặc tên loại cho vấn đề đó.

+0

Cảm ơn bạn đã trả lời – DreamCodeer

Các vấn đề liên quan