예전에 초창기떄는 몰라도 요즘은 바이너리뽑아낼 때 inline안붙여도 최적화알아서 해서 스스로 inline으로 치환한다고 알고있는데.
진짜 STL 설계할때 성능최적화 고려해서 라이브러리 제작하지 않는이상 일반사용자한테 inline이 의미가 있나? 상황에따라서 지가 inline빼기도 한다던데
예전에 초창기떄는 몰라도 요즘은 바이너리뽑아낼 때 inline안붙여도 최적화알아서 해서 스스로 inline으로 치환한다고 알고있는데.
진짜 STL 설계할때 성능최적화 고려해서 라이브러리 제작하지 않는이상 일반사용자한테 inline이 의미가 있나? 상황에따라서 지가 inline빼기도 한다던데
응 인라이닝을 위한 inline은 의미가 없다고 보면 된다. 근데 헤더에 함수 정의까지 할 때는 꼭 inline을 넣어야 해. 완전히 의미가 없어진건 아니고, 의미가 좀 많이 바뀐거라고 봐야지.
헤더함수에 함수정의할때는 꼭 inline을 넣어야 한다는게 무슨의미야?
컴파일러가 어차피 헤더파일부터 읽을때에는 헤더에있는 소스가 main.cpp 위에고대로 붙는 형식아니냐? 그렇게 해서 바이너리 만들때에는 어차피 알아서 최적화하지않아?
myfunc.hpp에 함수 정의를 넣고, a.cpp에서도 b.cpp에서도 myfunc.hpp를 인클루드하면 똑같은 심볼이 2개 생기기 때문에 링크 에러가 발생하는데
어차피 헤더파일쓸때 #ifndef로 전처리하거나 pragmaonce 로 다처리해서 소스 고대로 붙어지니 알아서 최적화할거 같은데 아니야?
weak symbol로 만들면 링커가 알아서 하나만 골라서 링크해줘서 링크 에러가 안남
내가 쪼끔 정리해서 글 또 올릴게
그거 다중상속아님..? 원래 C++자체가 다중상속 지양하는걸로 알고있는데
지금 네가말한게 deadly diamond 아님?
진짜 특별한 변태같은경우 빼고는 다중상속을 할 이유가 없다고 들었다. 다중상속의 이점보단 그거 때문에 생길 리스크가 너무 커서 C++창시자도 다중상속에 관한 내용은 지원하나 사용을 지양한다 라고 말했던걸로 기억해
ㄴㄴ 상속이랑은 상관없는 얘기여
아 나 난독 장난아니네 ㅋㅋㅋ
순간 상속예기인줄알았당