취미로 파이썬 시작한 게 한 4~5일 전이었고 c++가 간지일 거 같아서 갈아타려고 무료 강의 찾아보는데
c++ 좀 하다 보니까 기초적 강의가 다 C에 있대서 C부터 보고 있음.
지금 하루동안 진행해서 포인터까지 왔는데 암만 봐도 c++ 참조자랑 좀 비슷한거 같단 말임;
완벽하게 이해하진 못한 거 같고 대략적으로 선언된 변수의 주소를 찾아나는 기능 정도로만 파악하고 있는데(대충?? 상수는 안되는 것 같기도?? 잘 몰?루)
어차피 똑같이 사용할 거 변수를 그대로 사용하면 안됨?
주소도 똑같고 값도 똑같이 받아오는데 굳이 왜 포인터를 사용해서 메모리 주소를 찾아가는지 잘 몰르겟는 부분임
닥치고 더 진행하면서 포인터 배열 부분 보면 되는 부분임???
참조차 속이 포인터임
그런거임? 공부 헛한건 아니라 다행임 ㅜ 그래서 포인터는 왜 쓰나요
진행하다보면 알게 될 거 같음
배열은 크기가 큰데 포인터는 항상 4 바이트라 빠르다는 이야길 봤습니다 핑프새끼라 죄송함다 ㅜ 실전 압축 메모리였네요
c 에서 swap 함수 구현하는 예제를 보면 도움이 될거 같네여
c 는 c++ 처럼 참조자가 없으니까 아마 대부분의 경우 참조를 처리하려고 포인터를 사용한다고 봐도 일단은 괜찮을거 같습니다
스왑 함수 예제 보니까 좀 더 알거 같네여 직접적으로 접근할 수 있어서 몬가 더 폭넓은 범위로 사용할 수 있는 느낌???인데 더 파보면 알 수 잇을듯
상황을 반대로 생각해야 합니다. 원래 포인터가 있었는데 불편해서 좀 더 단숭한 참조자를 만든 것
일단 제가 이해한 걸로는 직접적으로 주소를 찾아가기 때문에 위치를 가리지 않고 뽑아쓸 수 있다 정도로 이해하고 있어여. 함수나 클래스가 들어갔을 때 유용한 기능 같아여
어셈블리어 배워보시면 포인터가 무슨 의미인지 알 수 있음 그냥 제일 기본적인 접근 방식임
어셈블리는 안멋있어서..ㅈㅅ..ㅋㅋ!
커다란 데이터가 있을때 복사하면 시간이 길어지고, 차지하는 메모리도 커지잖아요. 이때 포인터로 주소값을 사용해 접근하면 빠르고 간단하게 다룰수 있죠.
친절한 설명 ㄳ합니다 이 갤 착한분들 많네요
동적 할당을 배우면 알게됨
포인터 안쓰는 언어도 내부적으로는 다 포인터로 동작함(레퍼런스 동작=포인터 동작) 그게 없으면 int float 같은건 몰라도 클래스 객체형 그 크고아름다운것들 일일히 다 복사해서 넘겨야되고 원래 속도 느린 언어들은 더 굼뱅이급으로 느려졋을거임 포인터 안쓰는 언어는 메모리 할당해제만 자동으로 해줄뿐임
참조자=포인터랑 사실상 같음 const와 마찬가지로 초기화를 반드시 해야되고 한번 어떤값은 참조하면 그이후 다른값 참조 불가능하다는 거 정도가 차이 오히려 자유도는 떨어짐
근데 니 생각이 다 맞다 포인터 쓰는게 좆같아서 현대적인 언어들은 그런거 되도록 피해감
피시방에 놀고 싶다고 피시방 안찾아가고 집집마다 피시방 하나씩 만들어서 놀 순 없잖아
프로그래밍 처음 배우는거면 처음부터 너무 완벽하게 이해할 필요 없음... 하다 보면 왜 이걸 쓸 수밖에 없는지 받아들여짐
위처럼 복사 대신 주소값으로 쓰기 위해 쓰는 경우가 대표적이고. 다른 사례로는 같은 데이터를 다른 타입으로 처리해야 할 때 쓰기도 함. 뭐 byte array(배열은 포인터)를 받아서 struct나 uint64_t array로 캐스팅해준다거나.