그리고 이 병신새낀 nullptr 도 아닌예를 nullptr 로 알고 있네 ㅋㄷ 왜 free( ptr ) 하면 다 nullptr 일것 같음?
codesafer(codesafer)2016-04-10 12:55
single task, 이를테면 예전 DOS 나 Digital Unix 쪽에선, 변수 하나 백업하는 cost 를 줄이기 위해서 return 직전에 free 하고 그대로 return 하는 경우나 free 하고 link 재설정하는 경우도 흔했다. 바로 스택이 파괴되지 않기 때문에.
codesafer(codesafer)2016-04-10 12:56
성능 최적화를 극도로 할땐 UB 건드리는거 흔한 경우였어. 그리고 나중에야 UB 라고 명시된 부분도 있고.
codesafer(codesafer)2016-04-10 12:56
뭘 알고 떠들어 검색충아. 좆나 구글링하거라.
codesafer(codesafer)2016-04-10 12:57
잠깐 뭐 좀 하느라 늦었다. 아까 얘길 계속 하면
kukyakya(175.126)2016-04-10 13:04
뭐 너야 늘 검색하느라 늦잖아.
codesafer(codesafer)2016-04-10 13:04
아까 준 c++14 파이널 드래프트 3.8.5에 친절하게 설명이 되어 있어. The program has undefined behavior if: ... the pointer is used to access a non-static data member or call a non-static member function of the object, ...
kukyakya(175.126)2016-04-10 13:05
계속 헛소리하는데
codesafer(codesafer)2016-04-10 13:06
undefined behavior 가 이미 어쩌기로 정의된 플랫폼이나 컴파일러에 가면 다 쓸모 없는 이야기라고
codesafer(codesafer)2016-04-10 13:06
후.. 맨 앞에 댓글 단 애가 댕글링 포인터가 UB라고 하길래 댕글링포인터 자체는 UB가 아니고 그 포인터를 dereference하는게 UB라는 걸 얘기하면서 비유한거잖냐.
kukyakya(175.126)2016-04-10 13:06
앵무새새끼야.
codesafer(codesafer)2016-04-10 13:06
위에 dereference 하는 예를 들었거든?
codesafer(codesafer)2016-04-10 13:07
야 내가 너 말돌린다고 자꾸 그랬지? 내가 지금 UB가 전혀 쓸모 없다고 한적 있디? 이 새끼는 항상 이렇게 말을 돌려. 댕글링 포인터 참조가 UB냐 UB가 아니냐 그거 얘기하는데 뭘 자꾸 또 물을 타
kukyakya(175.126)2016-04-10 13:07
링키드 리스트에서 free( ptr ), ptr 참조란건, free( node ); node->prev->next = node->next; 같은걸 의미하는거다. 멍청아. 당연히 이렇게 하면 안되지. 이렇게 해도 되는 플랫폼에선 그게 다 무용지물이라고.
codesafer(codesafer)2016-04-10 13:08
아니 이병신새끼야. 니가 unaligned 이야기 할때 시작에서 이미 다 define 했는데 계속 UB 이야기 들먹였잖아. 자기부인하니??
codesafer(codesafer)2016-04-10 13:08
그래, UB도 쓸모 있을 수는 있겠지.(개인적으로는 별 쓸모 없다고 생각하지만). 근데 그건 정말 undefined behavior이기 때문에 너가 컴파일러가 어떻게 해석해서 어떤 결과를 내놓을지를 완벽히 알기 전까지는 쓸모 없는거야. 근데 너가 과연 컴파일러가 어떤 코드를 생성할지 완벽히 알고 있는지는 좀 의문이다.
kukyakya(175.126)2016-04-10 13:09
이거 봐 이 새끼 댕글링 레퍼런스 참조 UB 얘기하는데 안되겠으니까 딴얘기 끌고 오는거. 잘 봐둬라 이게 코세가 절대 지지 않는 이유다. 지 틀린거 얘기하면 딴얘기 끌어오는거 무한 반복
kukyakya(175.126)2016-04-10 13:09
너보단 잘 안다. 넌 결과값 잘못된것도 며칠동안 모르고, 지적해줘도 개소리니.
codesafer(codesafer)2016-04-10 13:10
자 또 잘 봐. 이 새끼는 근거라는게 항상 '지 개인적인 경험'임.
kukyakya(175.126)2016-04-10 13:11
이새끼 술쳐먹고 갤질하나, 그렇게 따지면 nullptr 들고오는 니가 헛소리하는거지. 이 대화 어디에 nullptr 이 나옴?
codesafer(codesafer)2016-04-10 13:11
니가 찾아봐. 하다못해 스티븐스 할아버지의 Unix Network Programming 에도 나오는 이야기니까.
codesafer(codesafer)2016-04-10 13:12
그래. 비유는 내가 논의를 흐릴 여지가 있는데 괜히 가져왔다. 근데 지금 내가 UB에 대해서 '절대 쓰지 말아야할 것'이라던가 '쓰면 좆허접'이라던가 한 적 있냐? 내가 얘기하는건 '댕글링 포인터 참조가 UB이다' 이거 하난데? 그 근거로 표준 문서 인용했고. 뭐가 문제임?
kukyakya(175.126)2016-04-10 13:16
내 논지는 UB 는 define 된 환경에선 의미없다. <-
codesafer(codesafer)2016-04-10 13:17
ㅇㅇ 가 dangling pointer 이야기 가지고 온거고
codesafer(codesafer)2016-04-10 13:17
dangling pointer dereference 가 허용되는 케이스도 있다는걸 이야기 한거고.
codesafer(codesafer)2016-04-10 13:17
이미 unaligned access 가 허용된 플랫폼에서 이야기 하는데 넌 이틀동안 UB 이야길 녹음기처럼 반복재생했지.
codesafer(codesafer)2016-04-10 13:18
내말이 틀려?
codesafer(codesafer)2016-04-10 13:18
아무도 nullptr 이야길 안하는데 너 혼자 nullptr 이야길 했고.
codesafer(codesafer)2016-04-10 13:19
내 말이 틀려?
codesafer(codesafer)2016-04-10 13:19
근데 그럼 그렇게 얘기하면 되는거지 뭘 풀발기해서 대듬? 환경마다 define되어 있는건 unspecified behavior나 implementation-defined behavior고, undefined behavior를 정확히 define하는 플랫폼이 있는 줄은 몰랐는데, 어떤 플랫폼임?
kukyakya(175.126)2016-04-10 13:19
이 글에서 지금까지 그걸 지적한거고. 내 말이 틀려?
codesafer(codesafer)2016-04-10 13:20
니가 지금 말 돌리잖아.
codesafer(codesafer)2016-04-10 13:20
내 말이 틀리냐고?
codesafer(codesafer)2016-04-10 13:20
컴파일러 스펙이면 정의된거지 멍청아.
codesafer(codesafer)2016-04-10 13:20
허허 참.. UB얘길 녹음기처럼 반복재생한건 너였지. 난 애초에 'UB인건 둘째치고'라는데서 성능 얘기만 계속 했는데?
kukyakya(175.126)2016-04-10 13:20
어떤 컴파일러의 어떤 스펙? 컴파일러 스펙이면 공개되어있을거 아냐? 그런 얘길 하려면 그 스펙을 가져오라고. 몇번을 얘기하냐.
kukyakya(175.126)2016-04-10 13:21
컴파일러 옵션에서 void 크기가 가 1 이면 정의된거고 void 크기가 0 이면 또 정의된거지.
codesafer(codesafer)2016-04-10 13:21
푸하ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ
codesafer(codesafer)2016-04-10 13:21
니가 UB 이야기 한거 다 캡쳐해 올까 시간순으로?
codesafer(codesafer)2016-04-10 13:21
이새끼 진짜 미쳤나.
codesafer(codesafer)2016-04-10 13:21
니가 한 말을 기억 못하냐?
codesafer(codesafer)2016-04-10 13:21
그러니까 컴파일러 옵션에서 설정가능한거면 그 옵션에 대한 설명이 담긴 메뉴얼이나 스펙이 있을거시여. 그치? 그럼 댕글링 포인터 참조던, unaligned acces든, UB를 define하는 메뉴얼이나 스펙을 가져오라는 얘기야.
kukyakya(175.126)2016-04-10 13:22
내가 이틀동안 니가 UB 이야기 한거 4 개 이상 가져오면 어떡할래?
codesafer(codesafer)2016-04-10 13:22
말 돌리지말고 십새끼야.
codesafer(codesafer)2016-04-10 13:23
내가 이틀동안 니가 UB 이야기 한거 4개 이상 가져오면 어떡할래? unaligned access 관련해서.
codesafer(codesafer)2016-04-10 13:23
이 새끼 또 가져오란건 안가져오고 딴얘기하지. 일단 가져오라는거나 좀 가져오고 딴걸 가져와.
kukyakya(175.126)2016-04-10 13:24
nullpointer 이야긴 중요하지도 않아. 저새끼가 나더러 관련없는 이야기 끌고 온다고 하니까 그렇지.
codesafer(codesafer)2016-04-10 13:24
아니 니 입으로 지금 UB 이야기 안했다고 자기 행동을 부정하잖아.
codesafer(codesafer)2016-04-10 13:24
니가 쓰는 컴파일러 스펙에 unaligned access를 어떻게 define하는지 가져오면 내가 바로 좆버로우함.
kukyakya(175.126)2016-04-10 13:24
이건 미친거고, 내가 묻는데 자기가 한일을 정상적으로 yes, no 이야기 못하는 새끼가
codesafer(codesafer)2016-04-10 13:24
대화가 가능한 새끼라고 보는거임??
codesafer(codesafer)2016-04-10 13:24
얌마 옵션에서 설정가능하면 defined 인거지. 닭이냐?
codesafer(codesafer)2016-04-10 13:25
그래. 안가져올거라고 생각했어. 난 이만 이 지옥에서 탈출하련다 바이 짜이찌엔
kukyakya(175.126)2016-04-10 13:25
옵션에서 설정 못하는 것들도, 그렇게 working 하면 define 이야.
codesafer(codesafer)2016-04-10 13:25
말 바꾸는새끼. 왜 니가 글 쓴거 다 지우고 좆 버로우 해보시지?
codesafer(codesafer)2016-04-10 13:26
지가 수도 없이 UB 떠들고 안했데. 나참. 이건 대화불가능자야.
codesafer(codesafer)2016-04-10 13:26
속된 농담으로 bug 도 release 하면 spec 이란 말 있음. 이게 그냥 나오는게 아님. 그 버전 계속 쓰는 애들에겐 그게 spec 임.
dangling pointer가 대표적인 UB인데 쓸모가 없다니 ;;
unaligned 에 UB 이야기 하는거임. dangling pointer 도 케이스로 커버되는 경우가 특이하겐 있음.
심지어, 링키드 리스트에서 free( ptr ); 먼저하고 나서의 ptr access 도 특정 플랫폼에선 허용됨.
당연하게도 thread safe 하지 않지만, thread 가 존재하지 않는 Digital Unix 도 있음.
걍 경험없는것들이 떠드는거임.
nullptr 자체로는 UB가 아니지만 nullptr을 dereference하면 UB인것처럼, dangling pointer 자체가 UB인게 아니라 dangling pointer를 dereference하는게 UB입니다.
http://stackoverflow.com/a/28745226/1030861
그게 UB 가 아니란게 아니잖아. 멍청한 새끼야 글 못읽냐?
그니까 너더러 닭대가리라고 내가 계속 까는거야.
UB 지만 허용되는 케이스를 이야기 하는거잖아 멍청아.
코세야.
http://port70.net/~nsz/c/c++/c++14_n3936.pdf
같은 레퍼런스를 놓고 얘기해보자꾸나. 표준에 dangling pointer가 정확히 뭔지 명시해놓지 않았지만 valid object를 가리키지 않는 pointer라는 일반적인 정의를 따르도록 해보자.
https://en.wikipedia.org/wiki/Dangling_pointer
그리고 이 병신새낀 nullptr 도 아닌예를 nullptr 로 알고 있네 ㅋㄷ 왜 free( ptr ) 하면 다 nullptr 일것 같음?
single task, 이를테면 예전 DOS 나 Digital Unix 쪽에선, 변수 하나 백업하는 cost 를 줄이기 위해서 return 직전에 free 하고 그대로 return 하는 경우나 free 하고 link 재설정하는 경우도 흔했다. 바로 스택이 파괴되지 않기 때문에.
성능 최적화를 극도로 할땐 UB 건드리는거 흔한 경우였어. 그리고 나중에야 UB 라고 명시된 부분도 있고.
뭘 알고 떠들어 검색충아. 좆나 구글링하거라.
잠깐 뭐 좀 하느라 늦었다. 아까 얘길 계속 하면
뭐 너야 늘 검색하느라 늦잖아.
아까 준 c++14 파이널 드래프트 3.8.5에 친절하게 설명이 되어 있어. The program has undefined behavior if: ... the pointer is used to access a non-static data member or call a non-static member function of the object, ...
계속 헛소리하는데
undefined behavior 가 이미 어쩌기로 정의된 플랫폼이나 컴파일러에 가면 다 쓸모 없는 이야기라고
후.. 맨 앞에 댓글 단 애가 댕글링 포인터가 UB라고 하길래 댕글링포인터 자체는 UB가 아니고 그 포인터를 dereference하는게 UB라는 걸 얘기하면서 비유한거잖냐.
앵무새새끼야.
위에 dereference 하는 예를 들었거든?
야 내가 너 말돌린다고 자꾸 그랬지? 내가 지금 UB가 전혀 쓸모 없다고 한적 있디? 이 새끼는 항상 이렇게 말을 돌려. 댕글링 포인터 참조가 UB냐 UB가 아니냐 그거 얘기하는데 뭘 자꾸 또 물을 타
링키드 리스트에서 free( ptr ), ptr 참조란건, free( node ); node->prev->next = node->next; 같은걸 의미하는거다. 멍청아. 당연히 이렇게 하면 안되지. 이렇게 해도 되는 플랫폼에선 그게 다 무용지물이라고.
아니 이병신새끼야. 니가 unaligned 이야기 할때 시작에서 이미 다 define 했는데 계속 UB 이야기 들먹였잖아. 자기부인하니??
그래, UB도 쓸모 있을 수는 있겠지.(개인적으로는 별 쓸모 없다고 생각하지만). 근데 그건 정말 undefined behavior이기 때문에 너가 컴파일러가 어떻게 해석해서 어떤 결과를 내놓을지를 완벽히 알기 전까지는 쓸모 없는거야. 근데 너가 과연 컴파일러가 어떤 코드를 생성할지 완벽히 알고 있는지는 좀 의문이다.
이거 봐 이 새끼 댕글링 레퍼런스 참조 UB 얘기하는데 안되겠으니까 딴얘기 끌고 오는거. 잘 봐둬라 이게 코세가 절대 지지 않는 이유다. 지 틀린거 얘기하면 딴얘기 끌어오는거 무한 반복
너보단 잘 안다. 넌 결과값 잘못된것도 며칠동안 모르고, 지적해줘도 개소리니.
자 또 잘 봐. 이 새끼는 근거라는게 항상 '지 개인적인 경험'임.
이새끼 술쳐먹고 갤질하나, 그렇게 따지면 nullptr 들고오는 니가 헛소리하는거지. 이 대화 어디에 nullptr 이 나옴?
니가 찾아봐. 하다못해 스티븐스 할아버지의 Unix Network Programming 에도 나오는 이야기니까.
그래. 비유는 내가 논의를 흐릴 여지가 있는데 괜히 가져왔다. 근데 지금 내가 UB에 대해서 '절대 쓰지 말아야할 것'이라던가 '쓰면 좆허접'이라던가 한 적 있냐? 내가 얘기하는건 '댕글링 포인터 참조가 UB이다' 이거 하난데? 그 근거로 표준 문서 인용했고. 뭐가 문제임?
내 논지는 UB 는 define 된 환경에선 의미없다. <-
ㅇㅇ 가 dangling pointer 이야기 가지고 온거고
dangling pointer dereference 가 허용되는 케이스도 있다는걸 이야기 한거고.
이미 unaligned access 가 허용된 플랫폼에서 이야기 하는데 넌 이틀동안 UB 이야길 녹음기처럼 반복재생했지.
내말이 틀려?
아무도 nullptr 이야길 안하는데 너 혼자 nullptr 이야길 했고.
내 말이 틀려?
근데 그럼 그렇게 얘기하면 되는거지 뭘 풀발기해서 대듬? 환경마다 define되어 있는건 unspecified behavior나 implementation-defined behavior고, undefined behavior를 정확히 define하는 플랫폼이 있는 줄은 몰랐는데, 어떤 플랫폼임?
이 글에서 지금까지 그걸 지적한거고. 내 말이 틀려?
니가 지금 말 돌리잖아.
내 말이 틀리냐고?
컴파일러 스펙이면 정의된거지 멍청아.
허허 참.. UB얘길 녹음기처럼 반복재생한건 너였지. 난 애초에 'UB인건 둘째치고'라는데서 성능 얘기만 계속 했는데?
어떤 컴파일러의 어떤 스펙? 컴파일러 스펙이면 공개되어있을거 아냐? 그런 얘길 하려면 그 스펙을 가져오라고. 몇번을 얘기하냐.
컴파일러 옵션에서 void 크기가 가 1 이면 정의된거고 void 크기가 0 이면 또 정의된거지.
푸하ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ
니가 UB 이야기 한거 다 캡쳐해 올까 시간순으로?
이새끼 진짜 미쳤나.
니가 한 말을 기억 못하냐?
그러니까 컴파일러 옵션에서 설정가능한거면 그 옵션에 대한 설명이 담긴 메뉴얼이나 스펙이 있을거시여. 그치? 그럼 댕글링 포인터 참조던, unaligned acces든, UB를 define하는 메뉴얼이나 스펙을 가져오라는 얘기야.
내가 이틀동안 니가 UB 이야기 한거 4 개 이상 가져오면 어떡할래?
말 돌리지말고 십새끼야.
내가 이틀동안 니가 UB 이야기 한거 4개 이상 가져오면 어떡할래? unaligned access 관련해서.
이 새끼 또 가져오란건 안가져오고 딴얘기하지. 일단 가져오라는거나 좀 가져오고 딴걸 가져와.
nullpointer 이야긴 중요하지도 않아. 저새끼가 나더러 관련없는 이야기 끌고 온다고 하니까 그렇지.
아니 니 입으로 지금 UB 이야기 안했다고 자기 행동을 부정하잖아.
니가 쓰는 컴파일러 스펙에 unaligned access를 어떻게 define하는지 가져오면 내가 바로 좆버로우함.
이건 미친거고, 내가 묻는데 자기가 한일을 정상적으로 yes, no 이야기 못하는 새끼가
대화가 가능한 새끼라고 보는거임??
얌마 옵션에서 설정가능하면 defined 인거지. 닭이냐?
그래. 안가져올거라고 생각했어. 난 이만 이 지옥에서 탈출하련다 바이 짜이찌엔
옵션에서 설정 못하는 것들도, 그렇게 working 하면 define 이야.
말 바꾸는새끼. 왜 니가 글 쓴거 다 지우고 좆 버로우 해보시지?
지가 수도 없이 UB 떠들고 안했데. 나참. 이건 대화불가능자야.
속된 농담으로 bug 도 release 하면 spec 이란 말 있음. 이게 그냥 나오는게 아님. 그 버전 계속 쓰는 애들에겐 그게 spec 임.