Visual Studio 2012 C++ là C99 hay C11?

Chào mọi người ạ?
Mọi người cho em hỏi Visual Studio 2012 sử dụng C99 hay C11 ạ?
Và làm sao mình có thể kiểm tra được nó?
Em xin chân thành cảm ơn.
Chúc mọi người 1 ngày vui vẻ.

Visual Studio không có dùng compiler riêng bên ngôn ngữ C mà dung chung với compiler C++ luôn :stuck_out_tongue:

Visual Studio 2012 dùng chuẩn C++11 nên có bao gồm luôn C99. Mình chỉ biết vậy :stuck_out_tongue_closed_eyes:

1 Like

Nhưng em thấy cái initializer list chỉ sử dụng C11 mà em cài visual studio 2012 lại không thể sử dụng được nó @@~

Cũng có thể do bạn code sai :joy:

Mà C++11 chứ không phải C11 nhé :stuck_out_tongue_closed_eyes:

http://www.cplusplus.com/reference/initializer_list/initializer_list/
Trong trang này họ bảo sử dụng thư viện initialize_list mà em viết thư viện này ra nó bảo không có :frowning:

Visual Studio 2012 vẫn hỗ trợ C++11 nhưng không hỗ trợ thư viện initializer_list. Bởi vì Microsoft có tuân theo chuẩn không là do họ. :stuck_out_tongue:

Bạn xem thêm ở đây :slight_smile:
https://msdn.microsoft.com/en-us/library/hh567368.aspx


Nếu muốn sử dụng thì bạn nâng cấp lên Visual Studio 2013 hoặc 2015 nhé :wink:

Vậy cho em hỏi Initializer_list trong C++ là gì ạ :frowning:

Ý bạn là sao mình không hiểu. :frowning:

Có phải bạn hỏi nó có phải thư viện chuẩn không
Hay hỏi cách sử dụng hay những lợi ích nó đem lại

Cách sử dụng và lợi ích đem lại ý ạ :frowning: em đang tìm hiểu nó :wink:

Theo mình nhớ thì VS 2013 trở lên thì dùng được Initializer_list nhá, cách sử dụng của nó thì bạn tự xem trên web, còn lợi ích của nó thì giúp ta khởi tạo object mà không cần biết trước số lượng tham số truyền vào, tuy nhiên có một ràng buộc là các tham số truyền vào đó phải có cùng data type

Khi làm việc với c++ bạn nên cần biết một số thứ sau:

  • Các chuẩn C++ (C++98, C++03, C++11, C++14…) là do ISO đề xuất.
  • Các đề xuất đó chỉ mang tính chất tham khảo cho các nhà phát triển compiler, các nhà phá triển compiler thấy tính năng nào có ích thì họ đưa vào cho chuẩn C++ riêng của họ, không nhất thiết là phải đưa vào hết các tính năng của một chuẩn c++ mới vào. Hiện nay phổ biến nhất là các compiler: VC++ của MS, gcc của GNU

Em cảm ơn nhiều ạ :smiley: :smiley: :smiley:

Chuẩn được đưa ra để đảm bảo sự thống nhất và tính khả chuyển, có thế chạy đc nhiều nền tảng của ngôn ngữ và đồng thời nâng cấp và cải thiện các tính năng mới nhằm tạo điều kiện thuận lợi cho các lập trình viết code nhanh, cải thiện hiệu năng của phần mềm. Đã là chuẩn thì thằng nào cũng phải theo, ngoài ra họ có thêm tính năng riêng của họ.
Hiện tại có 3 thằng đang tích hợp rất nhanh các chuẩn mới của c++ là g++(bộ biên dịch gcc), clang++, và VS C++. Bạn có thể tham khảo tiến trình ở đây:
http://en.cppreference.com/w/cpp/compiler_support

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