1:将boost::property_tree::ptree转化为string输出
std::stringstream ss;
boost::property_tree::json_parser::write_json (ss, tree);
std::cout << ss.str () << std::endl;
2:boost::asio::ip::address_v6::from_string
这个方法传入的ip如果是192.168.1.105这样的形式会报Invalid argument错误
输入::ffff:192.168.1.105这样的形式就能正常通过
3:获取用户路径方法,结果是/home/username
namespace rai
{
boost::filesystem::path app_path ()
{
auto entry (getpwuid (getuid ()));
assert (entry != nullptr);
boost::filesystem::path result (entry->pw_dir);
return result;
}
}
4:对#pragma once的理解
在C和C++编程语言中,#pragma once是一个非标准但是被广泛支持的前置处理符号,会让所在的文件在一个单独的编译中只被包含一次。以此方式,#pragma once
提供类似include防范的目的,但是拥有较少的代码且能避免名称的碰撞。