프로그래밍

C++ STL list 관련 질문.

 

std::list<data_type> nlist1;

 

이렇게 list 자료구조로 nlist1 선언하고 값을 넣은 후에.

 

std::list<data_type>::literator lter_list =std::prev(nlist1.begin());

 

이렇게 코드작성하면 무조건 오류걸리는 거지??? 

 

list 구조에서 맨앞에 prev에 위치하는 element가  없기 때문인걸로 알고 있는데. 내가 맞는건지 궁금함.

 

nlist 1 : [begin] <->[begin+1]<-> [begin+2]<-> ... <->[end-1]<-> [end]

         

            prev<-> [begin+1] <->next   

 

[begin+1]의 prev = [begin] , next = [begin+2]

 

[begin]의 prev는 존재 x 하므로 위 코드 작성시 오류 발생하는거 맞지?
 

어떤 경우에도 오류가 발생하는 거지??

begin앞에 prev element는 없으니깐!!

6개의 댓글

구현 방식에 따라 다를것 같은데 따로 처리를 안해줬을 것 같음.

0
2021.04.18
@느그본체만수무강

따로 처리를 안 해줬다는게 무슨말임??

 

비주얼스튜디오 2019에서 사용하고, list.h에서 가져온 list template libarary인데.

 

환경에 따라서 다르려나?

0
@아임니더

컴파일러마다 구현 방식이 조금씩 다를 수 있음.

STL이 어느 컴파일러나 동일한 코드로 만드는게 아닌걸로 알고 있음.

다만 그럼에도 저 부분은 처리가 안 되어 있을 경우를 상정하여 무조건 문제가 발생한다고 생각하고 반드시 예외처리를 해줘야 한다는 거임.

0
2021.04.18
@느그본체만수무강

컴파일러 마다 다르게 구현될 수 있다니 신기하네.

 

Standard Template Libaray라는 명칭인데, 컴파일러마다 다를줄이야... 답변기다리는 동안 좀더 찾아봐야겠구만..

 

ㅇ답변고마워고

0
2021.04.19
@아임니더

표준은 함수 이름이랑 파라미터 타입같은거만 펴준이고 이상한짓하면 다 다르게동작함

0
2021.04.19

그런 Undefined Behavior(UB)은 오류를 뿜을 수도 있고, 뭔가 작동은 하는데 이상하게 작동할 수도 있음(가장 디버깅이 어려운 케이스).

그리고 이런 질문은 앵간하면 스택오버 플로우 한번 찾아보는게 훨씬 빠를걸.

https://stackoverflow.com/questions/37584646/validity-of-stdprev-and-stdnext-for-stdlist

https://stackoverflow.com/questions/25263676/is-it-safe-to-use-stdprevvector-begin-or-stdnextvector-begin-1-lik

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5684 [프로그래밍] 그 혹시 게임쪽 종사자 있음? 16 god79ii 0 1 일 전 448
5683 [프로그래밍] 코린이 ㅅㅂ 뭐가 문젠지 모르겠어요 7 집에가게해줘 0 1 일 전 319
5682 [프로그래밍] Dear Imgui 라고 아시나요? 2 년째모쏠 0 1 일 전 190
5681 [프로그래밍] 현업개발자분들 주말엔 편하게 쉴수있나요? 10 키로 0 2 일 전 703
5680 [프로그래밍] 무엇이든 물어보세요. 28 변현제 0 4 일 전 349
5679 [프로그래밍] 금융권 SI 회사면 좋은건가.. 9 찰나생멸 1 5 일 전 360
5678 [프로그래밍] 개발자보단 엔지니어가 취업이 잘됨 5 iillillill 2 5 일 전 629
5677 [프로그래밍] 프론트엔드 개발자 연봉 1억 넘는 사람 있어? 13 잠적자 0 5 일 전 565
5676 [프로그래밍] Exiftool 이거 일본어 못 읽는데 13 부터시작하는이세... 0 7 일 전 216
5675 [프로그래밍] 반응형 웹페이지가 내가상상한거랑 좀 다르네 4 평택국 0 8 일 전 408
5674 [프로그래밍] 고졸 FE개발자 연봉, 상황에 조언좀.. 19 쾅꿍꿍 0 8 일 전 551
5673 [프로그래밍] 물경력들 보면 책임을 이해못하는것같음 5 mils 1 9 일 전 369
5672 [프로그래밍] GPT가 코딩 다해주네 3 겜신병자 0 10 일 전 698
5671 [프로그래밍] 크로스플랫폼의 욕심은 끝이없다 4 ye 0 12 일 전 372
5670 [프로그래밍] 월루중에 백준 풀어보고 있는데, 6 오뜨 0 13 일 전 646
5669 [프로그래밍] 같이 일했던 시니어급 개발자 아예 직무 바꿨네.. 15 흐린눈 2 14 일 전 670
5668 [프로그래밍] 안드로이드 스튜디오가 이상해요... 2 집에가게해줘 0 16 일 전 382
5667 [프로그래밍] 양심고백 5 너가전부옳아 0 16 일 전 372
5666 [프로그래밍] 멀티겜만드는거 첨인데 빡시네 4 아님나 0 17 일 전 416
5665 [프로그래밍] vscode에 이런 설정도 있나? 17 너가전부옳아 0 17 일 전 283