함수호출

    (C++) 함수의 인자 또는 리턴 값에 STL 데이터 타입에 관하여

    프로그래밍을 하다 보면 함수의 인자에 std::vector 등의 STL 데이터 타입을 넣는 경우가 있다. 이때 메모리 문제나 속도 문제에 대해서 생각해 필요가 있다. 값에 의한 호출 call by value void func1(std::vector v) {...} int main(){ std::vector my_v {0,0,0}; func1(my_v); } 이 경우 v는 main()의 my_v를 넘기는 순간에 값을 복사하기 때문에 메모리가 증가하게 된다. func1에서 v를 수정할 경우 main()의 my_v에 영향을 줄 수 없다. 만약에 main()에서 fun1()를 여러번 호출하게 된다면 매번 메모리가 사용될 것이다. 벡터는 상당히 큰 메모리 공간을 가질 수 있으므로 함수에 전달할 때 신중하게 고려해..