매개변수로 const string & a로 하던데 string a로 하면 안되는 것입니까? const써서 어차피 변경도 안되는뎅
- dc official App
댓글 22
&가 뭔지는 알지?
Const는 얘를 함수 안에서 사용하되 직접 건드려서 값을 수정하지는 않겠다는 보장이야. 남들이 함수 이름이랑 변수 넘어가는거보고 이 함수에선 대충 무슨짓을 하겠구나 예측할수도 있고 나중에 디버그할때 이 값은 여기서 조져진건 아니겠구나 하고 가능성을 지워나갈수있지
익명(223.62)2018-08-03 01:39
string a는 값 변경안했다는걸 알수있지 않슴깡?
string a보다 명확하게 여기서는 안조진다 씨뻴롬아 라는 뜻을 알려주기 위해 string보다 const string &를 인자 타입으류 주는것 임까? - dc App
민우(39.116)2018-08-03 01:41
String으로 넘기는거랑 string&로 넘기는건 큰 차이가 있어. 단순히 얘를 함수안에서 조져도 상관이 없겠다. 이런뜻이 아니야. 복사를 하지 않기 때문에 속도에서 차이가 존나 나지.
익명(223.62)2018-08-03 01:42
그러면 누가 빠르다는 것 임까? - dc App
민우(39.116)2018-08-03 01:42
4바이트 짜리 변수는 니말대로 걍 넘겨도 괜찮은데 그 이상, 특히 니가 정의한 데이터괴물 클래스들일수록 포인터나 레퍼런스를 이용해 매개변수로 넘기는게 좋아.
익명(223.62)2018-08-03 01:43
복사를 안하는 string이 더 빠름니까?
그러면 씨바 const string &는
절대로 안조진다 씨벨럼아 라는 안도의 말 빼고는 장점이 인자로써는 없다는 겁니까? - dc App
민우(39.116)2018-08-03 01:43
복사를 안하는건 &이지
익명(223.62)2018-08-03 01:45
아 그렇군요 그러면 이제 보통 다 const string & 하면 되는 것입님가? - dc App
민우(39.116)2018-08-03 01:48
속도를 위해 래퍼런스를 쓰고 그로 인해 생기는 값변조 가능성을 방지하기 위해(위에 썻던 이유는 덤으로) const를 쓴다고 생각해
익명(223.62)2018-08-03 01:49
그냥 이새끼는 c++ 하면안됨ㅋㅋㅋ c 포인터 쓰다가 레퍼런스 쓰고 존나 개 좋았는데 이새끼는 그냥 개념이 없는거같은데 ㅋㅋ
cc(129.97)2018-08-03 01:51
int 나 float등등 포인터랑 크기가 같은 4바이트 변수들은 그냥 넘겨도 돼. 이쪽은 잘 기억이 안나네
익명(223.62)2018-08-03 01:51
고맙습니당 당신은 이제 프갤 랭킹 top 10입니다 - dc App
민우(39.116)2018-08-03 01:51
그냥 메모리하고 cpu 개념이 없으니까 뭐가 좋고 나쁜지 모르지 ㅋㅋㅋ
cc(129.97)2018-08-03 01:52
레퍼런스 개념도 모르는거같고
cc(129.97)2018-08-03 01:53
string a - 함수호출시 a 는 복사되서 함수끝날시 삭제
cc(129.97)2018-08-03 01:54
cosnt string a - string a 랑 같지만 a를 함수 스코프안에서 변경불가
cc(129.97)2018-08-03 01:54
래퍼런스 배울때 스왑함수가지고 우왕 복잡하게 포인터지랄안하고도 함수내에서 값이 수정되네 이렇게 배워서 그래
익명(223.62)2018-08-03 01:55
string a& - a를 레퍼런스로 받음 포인터랑 비슷함 a는 메모리 어디에 자리잡고있고 그냥 복사 또는 move 같은 것 전혀 안일어남
cc(129.97)2018-08-03 01:55
const string& a - string a& 랑 비슷한데 전달하는 타입이 const srting 임
cc(129.97)2018-08-03 01:56
c++ 쓸거라고 마음먹었으면 레퍼런스랑 유니크포인터 써라 시발 존나 좃같게 raw pointer 쓰지말고
cc(129.97)2018-08-03 01:58
ㄴ 유니크 포인터 나 이해할떼까지 가르처 주고 사용하라 마라 해라
내가 맨날 코딩얘기하니까 어느정도 감 잡힌놈으로 보이나 본데 나 c++린이임 - dc App
민우(39.116)2018-08-03 02:05
ㄴ 솔까 혼자 할수있는디
궁금한거 있으면 딱딱한 레퍼런스 보다는 이런 형들이 야매러 알려주는게 약간좀거 영양가 있어보임 - dc App
&가 뭔지는 알지? Const는 얘를 함수 안에서 사용하되 직접 건드려서 값을 수정하지는 않겠다는 보장이야. 남들이 함수 이름이랑 변수 넘어가는거보고 이 함수에선 대충 무슨짓을 하겠구나 예측할수도 있고 나중에 디버그할때 이 값은 여기서 조져진건 아니겠구나 하고 가능성을 지워나갈수있지
string a는 값 변경안했다는걸 알수있지 않슴깡? string a보다 명확하게 여기서는 안조진다 씨뻴롬아 라는 뜻을 알려주기 위해 string보다 const string &를 인자 타입으류 주는것 임까? - dc App
String으로 넘기는거랑 string&로 넘기는건 큰 차이가 있어. 단순히 얘를 함수안에서 조져도 상관이 없겠다. 이런뜻이 아니야. 복사를 하지 않기 때문에 속도에서 차이가 존나 나지.
그러면 누가 빠르다는 것 임까? - dc App
4바이트 짜리 변수는 니말대로 걍 넘겨도 괜찮은데 그 이상, 특히 니가 정의한 데이터괴물 클래스들일수록 포인터나 레퍼런스를 이용해 매개변수로 넘기는게 좋아.
복사를 안하는 string이 더 빠름니까? 그러면 씨바 const string &는 절대로 안조진다 씨벨럼아 라는 안도의 말 빼고는 장점이 인자로써는 없다는 겁니까? - dc App
복사를 안하는건 &이지
아 그렇군요 그러면 이제 보통 다 const string & 하면 되는 것입님가? - dc App
속도를 위해 래퍼런스를 쓰고 그로 인해 생기는 값변조 가능성을 방지하기 위해(위에 썻던 이유는 덤으로) const를 쓴다고 생각해
그냥 이새끼는 c++ 하면안됨ㅋㅋㅋ c 포인터 쓰다가 레퍼런스 쓰고 존나 개 좋았는데 이새끼는 그냥 개념이 없는거같은데 ㅋㅋ
int 나 float등등 포인터랑 크기가 같은 4바이트 변수들은 그냥 넘겨도 돼. 이쪽은 잘 기억이 안나네
고맙습니당 당신은 이제 프갤 랭킹 top 10입니다 - dc App
그냥 메모리하고 cpu 개념이 없으니까 뭐가 좋고 나쁜지 모르지 ㅋㅋㅋ
레퍼런스 개념도 모르는거같고
string a - 함수호출시 a 는 복사되서 함수끝날시 삭제
cosnt string a - string a 랑 같지만 a를 함수 스코프안에서 변경불가
래퍼런스 배울때 스왑함수가지고 우왕 복잡하게 포인터지랄안하고도 함수내에서 값이 수정되네 이렇게 배워서 그래
string a& - a를 레퍼런스로 받음 포인터랑 비슷함 a는 메모리 어디에 자리잡고있고 그냥 복사 또는 move 같은 것 전혀 안일어남
const string& a - string a& 랑 비슷한데 전달하는 타입이 const srting 임
c++ 쓸거라고 마음먹었으면 레퍼런스랑 유니크포인터 써라 시발 존나 좃같게 raw pointer 쓰지말고
ㄴ 유니크 포인터 나 이해할떼까지 가르처 주고 사용하라 마라 해라 내가 맨날 코딩얘기하니까 어느정도 감 잡힌놈으로 보이나 본데 나 c++린이임 - dc App
ㄴ 솔까 혼자 할수있는디 궁금한거 있으면 딱딱한 레퍼런스 보다는 이런 형들이 야매러 알려주는게 약간좀거 영양가 있어보임 - dc App