인프런 커뮤니티 질문&답변

정민균님의 프로필 이미지
정민균

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

연습 문제 (문자열) #1

코딩 스타일 및 포인터에 관한 질문

작성

·

232

0

1. 문자열 길이 계산 함수

int GetStringLength(char* str) {
	int lengthCount = 0;
	bool endOfStr = false;
	
	while (endOfStr == false)
	{
		endOfStr = *(str + lengthCount++) == '\0' ? true : false;
	}

	return --lengthCount;
}

코드 길이를 최대한 줄여보고 싶어서 전위, 후위 연산자를 이렇게 사용을 해봤는데 이런 방식이 일반적인 회사에서 사용하기에 적절한 방식일까요?

2. 포인터를 매개 변수로 전달할 때

void StringConcatenation(char* dest, char* source, char joinWord) {
	int endOfDest = 0;
	while (dest[endOfDest] != '\0') {
		endOfDest++;
	}

	dest[endOfDest++] = joinWord;
	
	StringCopy((dest + endOfDest), source);
}

기존 구현한 함수를 재사용하기 위해 포인터의 위치를 의도적으로 이동시킨 상태로 전달해주었고 결과는 의도한 대로 나왔습니다. 

이러한 방식 또한 코딩 스타일로서의 문제가 없는지, 또는 이렇게 사용할 경우 발생할 수 있는 위험성 같은 것이 있는지 궁금합니다!

답변 1

3

Rookiss님의 프로필 이미지
Rookiss
지식공유자

결과가 같고 제대로 동작한다면 넘어가시면 되고,
'회사에선 이렇게 해도 되는지' 와 같은 의문은 냉정하게 말씀드리면 불필요합니다.
게임 회사처럼 컨텐츠를 만드는 회사에선
한줄 한줄 코딩 스타일을 간섭하지 않고
각자의 자유에 맡깁니다.

정민균님의 프로필 이미지
정민균

작성한 질문수

질문하기