나는 reinterpret_cast가 그 일을 할 수도 있다고 생각하지만 데이터 변환을하지 않았다고 생각한다. 루프를 반복해서 하나씩 수행하고 포인터 유형과 데이터 유형 변환을 모두 수행하는 우아한 방법이 있는지 궁금합니다. 감사합니다.C/C++에서 float 포인터를 int 포인터로 변환하는 방법은 무엇입니까?
0
A
답변
3
나는 가정하고, 당신이 float
의 배열의 첫 번째 요소를 가리키는 일부 float*
이 있고 int
의 다음로 사용하려는 경우 내가 제안 몇 가지 옵션 :
float
을 원하지 않으면float
을 입력하지 마십시오. 우선int
배열을 저장하십시오.마찬가지로,
int
을 원하지 않으면float
을 사용하도록 코드를 변경하십시오.float
의 배열을 갖고 싶은데 어느 시점에서 필요에 따라int
으로 변환하려는 경우 수행하십시오.static_cast<int>
을 사용하여 안전한 방식으로 각 요소에 대한 변환을 수행하십시오. 한 번에 전체 배열을 변환하려는 경우, 나는 당신과 같이 일을 할 제안 : 당신이 정말로 배열을 고수 할 경우
float float_array[N] = /* ... */; std::vector<int> ints(float_array, float_array + N);
또는,
std::copy
를 사용float float_array[N] = /* ... */; int int_array[N]; std::copy(float_array, float_array + N, int_array);
위의
std::vector
이 더 바람직합니다.
+0
위대한 답변! 분명히 3을 사용하고 싶지 않습니다. 내 시나리오는 float 배열을 int 배열로 변환하고이 int 배열을 GPU에로드합니다. 나는 GPU API가 STL 객체를 취할지 확신하지 못하므로 5를해야 할 수도 있습니다. 그러나 STL 벡터를 쉽게 변환하거나 일반 배열로 캐스팅 할 수 있다면 어쩌면 할 수 있습니다. 감사! –
관련 문제
- 1. EXC_BAD_ACCESS 및 char 포인터를 float 포인터로 변환
- 2. tchar 포인터를 char 포인터로 변환하는 방법
- 3. 포인터를 포인터로 바꾸기
- 4. 왜 포인터를 포인터로 사용해야할까요?
- 5. String 객체를 UTF8CHAR 포인터로 변환하는 방법은 무엇입니까?
- 6. 포인터를 함수로 포인터로 전달
- 7. 스택에 int 포인터를 만드는 방법은 무엇입니까?
- 8. glVertexPointer의 float 배열을 java.nio.Buffer로 변환하는 방법은 무엇입니까?
- 9. 파이썬에서 float 변수의 int 값과 일치하는 포인터를 사용할 수 있습니까?
- 10. C에서 int의 주소를 char 포인터로 변환하는 방법은 무엇입니까?
- 11. Java 네이티브 float 포인터로 콜백 함수에 액세스
- 12. 포인터를 포인터로 함수 내에서 메모리 할당
- 13. C++ int float 캐스팅
- 14. int/값을 curreny/price로 변환하는 방법은 무엇입니까?
- 15. int 문자열을 Go에서 배열로 변환하는 방법은 무엇입니까?
- 16. int 포인터로 인해 오류가 발생합니다.
- 17. 왜 int [] []를 int **로 변환하는 컴파일러가 이론상 가능하지 않습니까?
- 18. 무엇 Excel에서 FLOAT 텍스트로 변환하는 내장 함수에서 (INT 유사()) 무엇
- 19. C++에서 void *를 float (*) [3]으로 변환하는 방법은 무엇입니까?
- 20. 안드로이드 SQLite 컬럼 int int float?
- 21. 이것을 기본 클래스 포인터로 변환하는 것이 안전합니까?
- 22. int 및 float 형식 지정자
- 23. 왜 cudaMalloc()이 포인터를 포인터로 사용합니까?
- 24. 포인터를 void 포인터로 변환 할 수 있습니까?
- 25. 어떻게 C에서 void 포인터를 char 포인터로 변환합니까
- 26. C++ 타입 변환 : void 포인터에서 클래스 포인터로 포인터를 캐스팅하십시오.
- 27. 함수에서 배열 포인터를 사용하는 방법은 무엇입니까?
- 28. 바이너리 (문자열)를 float 값으로 변환하는 방법은 무엇입니까?
- 29. Float (Wrapper 클래스)을 Integer 래퍼 클래스로 변환하는 방법은 무엇입니까?
- 30. 자바에서 float 배열을 double 배열로 변환하는 방법은 무엇입니까?
더 많은 범위가 필요합니다. 그것은 혼자 나쁜 생각처럼 들린다. – chris
'reinterpret_cast'는 확실히 할 수있는 방법이 아닙니다. –
변환 목적은 무엇입니까? –