이게 작은 차이인데.. 컴공을 전공하지 않은 양반들은 그냥 막씀.
프로에서도 흔히 발생하는 문제임.
그냥 파이썬처럼 레퍼런스 호출을 기본으로 했으면 되는건데..
자주 호출하는데.. 벡터나 맵같은 거대한 용량을 콜바이 벨류로 넘기면 존나 느려지는거.
이게 작은 차이인데.. 컴공을 전공하지 않은 양반들은 그냥 막씀.
프로에서도 흔히 발생하는 문제임.
그냥 파이썬처럼 레퍼런스 호출을 기본으로 했으면 되는건데..
자주 호출하는데.. 벡터나 맵같은 거대한 용량을 콜바이 벨류로 넘기면 존나 느려지는거.
미안한데 벡터랑 맵은 걍 넘겨도 포인터 넘기는듯
배열은 확실히 포인터 넘기고, 컨테이너 확인하는데 정체를 알수없는 함수호출이 중간에 껴서 좀 봐야겠다
vector a(20); f(a); // 여기서 f로 8바이트만 넘겨주는데 값을 복사했다고는 안보이는데
아 8바이트넘기는게 복사본 넘기는거네.. vector(std::vector > const&) 얘가 복사해주는데 명칭을 모르겠다
복사본의 포인터
c는 1바이트 차지하는데 b한테 4바이트 우겨넣다가 옆에있는 c도 0으로 넣은듯
디버깅해보니까 b입력받고나서부터 c가 0임
아 여기 아니다