여러 파일이 저장된 디렉토리가 있습니다.boost :: filesystem :: path는 연산자로 기본 변수를 변경합니다./
예 : C : \ 테스트 내용 \
: TEST.TXT, info.txt, dir2는/
boost::system::filepath
을 운영자 /=
및 +=
와 경로가 seperators 시스템을 사용할 수있는 가능성이 사용.
두 함수 모두 기본 변수를 변경합니다. 임시 변수를 사용하면 약간의 오버 헤드가 발생하며 필자가 필요로하는 연산자 나 함수를 잊어 버렸는지 궁금합니다. 내가 디렉토리에 다시 얻을 다음 파일 이름으로 다시 함수를 호출 할 수있는 파일 이름을 제거해야 할 것입니다이 기능 1 호출 후 예를
boost::filesystem::path pathTmp = boost::filesystem::current_path(); // imagine this returns C:\test
function1(pathTmp /= "test.txt"); // this would call the function1 with "C:\test\test.txt" but also modify pathTmp
를 들어
. 아니면 내가 pathTmp
의 임시 복사본을 만들어 pathTmp
이 임시 복사본을 재 할당하고 거기에서 이동합니다
boost::filesystem::path pathCopy = pathTmp = boost::filesystem::current_path(); // imagine this returns C:\test
function1(pathTmp /= "test.txt"); // this would call the function1 with "C:\test\test.txt" but also modify pathTmp
pathTmp = pathCopy;
function1(pathTmp /= "info.txt");
내가없이 잘 구분이있는 경로에 파일 이름을 추가하는 기능의 어떤 종류를 잊어 버린 경우 궁금 해서요
임시 복사본이 필요하거나 파일 이름을 다시 제거하려면 값 비싼 호출이 필요합니다.
'operator /'를 사용 하시겠습니까? – cpplearner
내 질문에 대한 완벽한 대답. 당신이 대답하지 않았기 때문에 나는 당신의 답을 인용함으로써이 질문을 해결할 것입니다! +1 –