다음 코드는 리눅스 및 Visual Studio 2015표준 : :지도의 구현은 리눅스와 윈도우
#include <map>
#include <iostream>
using namespace std;
int main(void)
{
map<int, int> map1;
int keyCount = 2;
for (int i = 0; i < keyCount; i++)
{
map1[i] = map1.size();
}
for (auto value : map1)
{
cout << "key: " << value.first << " value: " << value.second << endl;
}
return 0;
}
Visual Studio에서 결과에 컴파일 된 후 다른 역할을 사이에 차이가 리눅스에서 g ++ -std = C++ 11 - 벽 -pedantic
key: 0 value: 1
key: 1 value: 2
컴파일
나는 두 가지 질문이 있습니다
는 지금까지 내가 C++를 이해 한, VS 구현은 권리입니다.
for (int i=0; i < keyCount; i++)
{
unsigned int mapSize= map1.size();
map1[i] = mapSize;
}
다음은 두 플랫폼에서 비주얼 스튜디오처럼 동작 :
는 내가 코드를 변경하는 경우.
코드가 항상 이와 같이 작동하면 안됩니까?
2. VS가 Linux와 동일한 컴파일 작업을 수행하기 위해 사용할 수있는 Visual Studio 컴파일러 설정은 무엇입니까?
저는 Windows에서 일하고 있지만, Linux에서 작동해야하는 과제가 있습니다. 모두 대입 표현식 피연산자 때문에
그런지도가 왜 필요한지 궁금합니다. –