在下面的c ++示例中做什么/ =做什么?

时间:2017-01-04 17:10:19

标签: c++ boost

示例:

boost::filesystem::path filename;
filename /= boost::filesystem::temp_directory_path();
filename /= boost::filesystem::unique_path();

它好于吗?

auto filename = boost::filesystem::unique_path("%%%%-%%%%-%%%%-%%%%");

1 个答案:

答案 0 :(得分:7)

boost :: filesystem重载/ =运算符以调用路径对象的append方法,在这种情况下调用“filename”。

根据docs

  

效果:

     

将path :: preferred_separator追加到路径名,转换格式和   如果需要,编码([path.arg.convert]),除非:

     
      
  • 添加的分隔符将是多余的,或
  •   
  • 会将相对路径更改为绝对路径,或
  •   
  • p.empty()或
  •   
  • * p.native()。cbegin()是目录分隔符。
  •   
     

然后将p.native()附加到路径名。

     

返回: * this

这两个片段并不相同,因此无法比较相对风格的优点。