Ai có thể đề cập đến sự khác biệt giữa một liên minh vô danh và một công đoàn ẩn danh (hay cấu trúc)? Tôi vừa tìm thấy một:
các chức năng không thể được xác định trong công đoàn ẩn danh.Công đoàn ẩn danh và một công đoàn bình thường
Trả lời
Bạn không yêu cầu toán tử chấm "." để truy cập các phần tử công đoàn ẩn danh.
#include <iostream>
using namespace std;
int main() {
union {
int d;
char *f;
};
d = 4;
cout << d << endl;
f = "inside of union";
cout << f << endl;
}
Điều này sẽ biên dịch thành công trong trường hợp này là "KHÔNG" cho Liên minh thông thường.
Ngoài ra, liên kết ẩn danh chỉ có thể có các thành viên công khai.
PS: Chỉ cần bỏ qua phần tên lớp của cú pháp không làm một liên minh một liên minh ẩn danh. Đối với một công đoàn để hội đủ điều kiện như là một hiệp hội vô danh , tuyên bố không được khai báo một đối tượng.
Câu trả lời hay, +1! Tôi không có khái niệm vô danh tồn tại :) Chỉ trong trường hợp bất kỳ ai muốn đọc thêm (tôi đã từng đọc câu trả lời ở trên!) Xem phần 9.4, bullet point 5 & 6 cho một số tinh tế khác của C++ spec trong INCITS/ISO/IEC 14882-2011 [2012]. – Jimbo
Theo như tôi biết, cấu trúc ẩn danh không tồn tại trong C++ chuẩn, mặc dù chúng có thể được hỗ trợ bởi một số trình biên dịch.
Công đoàn ẩn danh không được có thành viên được bảo vệ hoặc riêng tư. Các thành viên được truy cập mà không sử dụng tên của công đoàn (rõ ràng, vì nó không có!). Công đoàn ẩn danh toàn cầu (Thiên Chúa cấm) phải được tuyên bố tĩnh.
- 1. Chèn vào với công đoàn
- 2. Cách khởi tạo công đoàn?
- 3. các lớp, cấu trúc, công đoàn và enums rỗng không được gắn thẻ ẩn danh
- 4. Đối với công đoàn hoặc công đoàn tất cả, đó là câu hỏi
- 5. Cách sử dụng của công đoàn trong một lớp
- 6. Công đoàn phù hợp trong C++ 11
- 7. TSQL - Tổng số truy vấn công đoàn
- 8. DBIx :: Lớp có làm công đoàn không?
- 9. Công đoàn trong khuôn khổ pháp nhân
- 10. C++: công đoàn với phương pháp?
- 11. Công đoàn ẩn danh trong cấu trúc không phải trong c99?
- 12. Công đoàn/cấu trúc ẩn danh của lớp với hàm tạo
- 13. C++: Nghiêm ngặt răng cưa và lạm dụng công đoàn
- 14. khởi tạo một mảng công đoàn tại khai
- 15. Công đoàn ANSI C - chúng thực sự hữu ích?
- 16. array_replace() vs điều hành công đoàn trong PHP
- 17. So sánh các Công đoàn Phân biệt đối xử
- 18. Cách xóa hàng trùng lặp khỏi tuyên bố công đoàn
- 19. xpath 'hoặc' hành xử như công đoàn ('|') với xmllib2
- 20. Có thể làm công đoàn trong LINQ không?
- 21. In ấn F # công đoàn phân biệt đối xử
- 22. Bao gồm struct trong def% công đoàn với Bison/Yacc
- 23. Ruby Regexp: sự khác biệt giữa mới và công đoàn với một regexp đơn
- 24. danh sách đoàn với bản sao
- 25. Đúc một hằng số để một đoàn
- 26. Tại sao việc căn chỉnh thành viên công đoàn dài dài lớn hơn công đoàn/cấu trúc có chứa? Điều này có đúng không?
- 27. Tại sao một công đoàn nhanh hơn một nhóm theo số
- 28. Tôi có thể khởi tạo một công đoàn trong bộ khởi tạo mem không?
- 29. Đoàn tự do với đoàn mysql select query
- 30. Có thể đặt một số vật thể với nhau trong một công đoàn không?
[cấu trúc chưa đặt tên/liên kết trong C] (http://stackoverflow.com/questions/13376494/unnamed-struct-union-in-c), [Cấu trúc ẩn danh/liên kết trong C] (http: // gcc.gnu.org/ml/gcc-patches/1999-06n/msg00376.html) –