std::vector
은 std::reference_wrapper
입니다. printf를 사용하여 인쇄하고 싶은 대상 (cout 포함하지 않음)입니다. 지금, 나는C++ : 참조 래퍼 및 printf
int a=5;
std::reference_wrapper<int> b=a;
printf("%i\n\n",b);
를 작성하는 경우 I (나는 a
의 주소 생각)을 nosense 번호를 얻을; 내 값을 얻기 위해 나는 printf
에 .get()
기능에 자동 통화를 할 수있는 방법이 있나요
printf("%i\n\n",b.get());
을 할 필요가 (예를 들어 다른 %
나에게 reference_wrapper content
를 인쇄 specificator) 그래서 모두 작동하는 일반화 된 기능을 할 수 있습니다 std::reference_wrapper<type>
및 type
?
첫 번째 단계는 stdio 라이브러리가 아닌 iostream 라이브러리를 사용하는 것입니다. – Hurkyl
첫 번째 코드 스 니펫은 어디에서나 컴파일되지 않습니다. 'error : non-trivially-copyable 타입의 객체를 전달할 수 없습니다. 'class std :: reference_wrapper'~ '...'' –
@Hurkyl 이미 iostream을 사용하고 있습니다. – volperossa