게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C++ 함수를 백터형으로 return할때 찌꺼기가 남을까요?
게시물ID : programmer_22308짧은주소 복사하기
작성자 : 한시운
추천 : 0
조회수 : 908회
댓글수 : 13개
등록시간 : 2018/04/16 19:47:40
프로그램을 장시간 돌릴경우 뭔가 메모리 부족 에러창이 뜨길래
의심되는 함수를 가져와 봤는대요
함수 호출후 vector<String> vS_return 값이 찌꺼기로 남는것 같아 의심되어 올려봅니다.

다음과 같은함수를 만들었는대
함수 호출후 찌꺼기가 남을까요?(참고로 S_To_c와 같이 A_To_B와 같은 형식의 함수는 제가 만든 형변환 함수입니다. 그냥 형변환만 하는 함수이므로 크게 신경쓰지 않으셔도 됩니다.)

//String형을 S_Tok를 기준으로 잘라서 vector<String>으로 return하는 함수 
vector<String>CustomCast::S_To_vS(String S_, String S_Tok) {

// 초기화
vector<String>vS_return;
vS_return.resize(0);

// 문자열 형변환
char* c_ = S_To_c(S_);

// Tok 형변환
const char * cc_Tok = S_To_cc(S_Tok);

// 문자열 형변환
char cArry_[99999] = "";
strcpy(cArry_, c_);

// 문자열 자르기
char * c_BufReturn = strtok(cArry_, cc_Tok);
if (cArry_[0] == cc_Tok[0])
vS_return.push_back("");
vS_return.push_back(c_To_S(c_BufReturn));

while (c_BufReturn != NULL) {
cc_Tok = S_To_cc(S_Tok);
c_BufReturn = strtok(NULL, cc_Tok);
vS_return.push_back(c_To_S(c_BufReturn));
}
return vS_return;
}
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호