C ++ không hỗ trợ khái niệm biến toàn cục. Có những trường hợp mà điều này hữu ích, chủ yếu là trong các hệ thống nhúng không hỗ trợ quản lý bộ nhớ. Tuy nhiên, bạn đã đúng khi nói rằng các tham số của hàm, biến cục bộ và biến thành viên của một lớp là phương thức được ưu tiên. Vấn đề với các biến toàn cục liên quan đến các trạng thái có thể thay đổi được chia sẻ. Các trạng thái có thể thay đổi được chia sẻ là nguy hiểm trong bất kỳ ngữ cảnh nào nhưng đặc biệt là trong các ứng dụng đa luồng. Các biến toàn cục có thể được sửa đổi bởi một phần của hệ thống theo một cách nào đó mà không phù hợp với phần khác. Điều này đúng ngay cả trong các ứng dụng đơn luồng. Trong các ứng dụng đa luồng, các thay đổi của một luồng có thể không hoàn chỉnh trong khi được sử dụng bởi một luồng khác. Vấn đề này là một điều kiện chạy đua và luồng đọc dữ liệu có thể nhận được dữ liệu không đầy đủ từ các thay đổi một phần.