我想std::vector<char>使用write具有此原型的函数将数据从一个套接字写入套接字:
ssize_t write(int, const void *, size_t);
Run Code Online (Sandbox Code Playgroud)
此函数的第二个参数必须是指向第一个元素的指针std::vector<char>.如何获得指向此元素的指针?
我试过std::vector::front但这会返回一个引用,而我需要一个指针.
突然在本文中("问题2")我看到一个声明,即C++标准禁止使用STL容器存储类的元素,如果该类有重载的话operator&().
过载operator&() 确实存在问题,但看起来像默认的"地址"操作符可以通过一组看起来很脏的演员表来boost::addressof()轻松使用,这些演员阵容被用于并且被认为是便携式和标准编译器.
为什么operator&()在boost::addressof()解决方法存在的情况下禁止存储在STL容器中的类超载?