필자는 최근 MCF C++ 응용 프로그램을 사용했는데, 이는 분명 작동 상태입니다. 시작하려면 코드에서 PC-Lint를 실행 중이며 lint는 CStringT가 Format으로 전달된다는 불평을합니다. 인터넷에 대한 의견이 분열 된 것 같습니다. 어떤 사람들은 CSting이 에러없이이 유스 케이스를 처리하도록 설계되었지만 다른 것들 (그리고 MSDN article)은 가변 인수 함수에 전달 될 때 항상 캐스트되어야한다고 말합니다.)Format/printf (및 일반적으로 varargs)에 전달 된 CString을 캐스팅해야합니까?
1
A
답변
3
CString 가변 인수 목록의 일부로 전달되도록 신중하게 설계되었으므로이 방법을 사용하는 것이 안전합니다. 그리고 Microsoft는이 특정 동작을 중단하지 않도록주의를 기울일 것입니다. 당신이 원한다면 그 방법을 계속 사용하는 것이 안전합니다.
개인적으로 나는 캐스트를 선호 할 것입니다. 문자열 클래스가 그런 식으로 행동하는 것은 일반적인 행동이 아닙니다 (예 : std :: string does not) 그리고 for 정신적으로 일관성이 있다면 "안전한"방법으로하는 것이 낫습니다.
P.S .: 구현 방법과 캐스팅 방법에 대한 자세한 내용은 thread을 참조하십시오.
관련 문제
- 1. typdef 된 유형을 사용하는 변수를 캐스팅해야합니까?
- 2. 암시 적 CString을 char *
- 3. cstring을 NSString 및 NSString으로 변환하는 방법 cstring?
- 4. 델파이에서 cstring을 전달하는 방법
- 5. 링크 오류 CString을
- 6. 이 충돌은 CString을
- 7. CString을 mfc로 플로트 변환
- 8. CString을 부호없는 long으로 변환
- 9. 여러 CString을 연결하는 방법
- 10. MFC CString을 바꾸려면 어떻게해야합니까?
- 11. 명시 적으로 malloc()의 반환 값을 캐스팅해야합니까?
- 12. CString을 문자열 (VC6)로 변환
- 13. Rhino 모의 및 모의 일반적으로
- 14. 자바 스크립트 : 여기에 일반적으로
- 15. vC++ - CString을 LPCWSTR로 변환하는 방법
- 16. CString을 문자 배열로 변환 하시겠습니까?
- 17. 부스트를 사용하여 CString을 직렬화하는 방법
- 18. OS X에서 cstring을 대체 하시겠습니까?
- 19. cfwindow에 변수 전달 및 전달
- 20. 통해 전달 된 SID 값이
- 21. 사용자와 일반적으로 생성 된 Django 객체를 연결합니다.
- 22. 일반적으로 입력 된 표현의 이상 함
- 23. 전달 된 URL 결정
- 24. EC2 대기 시간 및 일반적으로 지연 시간
- 25. 이벤트 및 기타 자료가 일반적으로 작동하지 않습니다.
- 26. DAO는 일반적으로
- 27. 전달 된 중첩 된 dict/목록 수정
- 28. 문자 배열에서 CString을 만드는 방법은 무엇입니까?
- 29. CString을 C++의 CTime으로 변환하는 방법은 무엇입니까?
- 30. 전달 선언 및 typeid