Ví dụ, loại chuỗi chữ "Xin chào", const char[6]
hoặc const char*
là gì?Loại chuỗi ký tự trong C++ là gì? Ví dụ:
Trả lời
Loại chuỗi ký tự "Hello"
là "mảng 6 const
char
".
Chữ thường chuỗi và chuỗi ký tự UTF-8 cũng được gọi là chuỗi ký tự hẹp. Một chuỗi hẹp theo nghĩa đen có kiểu “mảng của n
const char
”, nơi n là kích thước của chuỗi [...]
Nó có thể, tuy nhiên, được chuyển đổi sang một const char*
bởi mảng-to chuyển đổi con trỏ. Kết quả chuyển đổi từ mảng sang con trỏ trong một con trỏ đến phần tử đầu tiên của mảng.
Điều này có thể giải thích tại sao mã này hiển thị cảnh báo 'C4172 địa chỉ trả về biến cục bộ hoặc tạm thời'cho hàm này' const char * const & f() {return "hello"; } 'trong VS2010. Bạn có đồng ý với điều này ? – Belloc
@ user1042389 Con trỏ kết quả từ việc chuyển đổi mảng thành con trỏ là một đối tượng tạm thời. Bạn đang trả về một tham chiếu đến đối tượng đó, vì vậy tham chiếu đó vẫn còn lơ lửng. –
Tạm thời ở đâu? "hello" tồn tại trong bộ nhớ tĩnh! – Belloc
Tiêu chuẩn xác định nó là "mảng của n const char
", do đó, const char[n]
(n là kích thước của chuỗi, bao gồm cả việc kết thúc byte NUL).
Mục 7, § 2.14.15:
Một chuỗi hẹp theo nghĩa đen có kiểu “mảng của n const char”, trong đó n là kích thước của chuỗi theo quy định dưới đây, và có thời gian lưu trữ tĩnh.
- 1. Ví dụ về nhiệm vụ "này" trong C# là gì?
- 2. Ví dụ điển hình về việc sử dụng biến đăng ký trong C là gì?
- 3. Làm thế nào để loại bỏ các ký tự khoảng trắng ở giữa chuỗi? Ví dụ:
- 4. Đa hình tham số trong Java (ví dụ) là gì?
- 5. Ký tự Escape Bash "\ c" là gì?
- 6. Mã hóa ký tự và chuỗi ký tự trong C++
- 7. C# Attribute.isDefined() ví dụ?
- 8. Ví dụ về Liên minh trong C
- 9. Ví dụ về tìm chuỗi trong Python
- 10. FSEvents Ví dụ C++
- 11. Kernel.Inject (ví dụ) là gì; thực sự làm gì?
- 12. Ví dụ mẫu C++ variadic Ví dụ bất thường
- 13. Nhiều thừa kế: Ví dụ điển hình là gì?
- 14. Chuỗi ký tự và ký tự trong Java
- 15. Loại hỗn hợp trong C là gì?
- 16. Sắp xếp ký tự của chuỗi C++
- 17. Loại nullable trong C# là gì?
- 18. Chữ cái b trước chuỗi ký tự là gì?
- 19. Các quy tắc phân loại R của vectơ ký tự là gì?
- 20. Ví dụ viết bằng C++
- 21. C++ rapidxml node_iterator ví dụ?
- 22. Bối rối: tạo ví dụ của lớp C# trong C++
- 23. C++ so sánh hai chuỗi ký tự
- 24. Ký tự meta không xác định trong chuỗi ký tự C/C++?
- 25. Loại WORD điểm trong C là gì?
- 26. Tôi thấy nhiều ví dụ về C++ với việc sử dụng "Foo^bar" - "^" là gì?
- 27. "Tải trọng" là gì? ví dụ như XML Payload
- 28. Trình tự thoát cho & trong chuỗi ký tự trong web.config là gì?
- 29. Thuật toán cửa sổ trượt là gì? Ví dụ?
- 30. Mustache.js + jQuery: ví dụ làm việc tối thiểu là gì?
'const char [6]'. – juanchopanza
bạn có ý gì khi nói "loại"? – nabroyan
@nabroyan Trong C++, mọi giá trị đều có một loại. OP muốn biết loại chuỗi ký tự. –