在DLL边界上使用std :: initializer_list

时间:2015-09-04 17:47:55

标签: c++ stl initializer-list

众所周知,由于编译器兼容性问题,移动语义等原因,将STL容器暴露在边界上是一个非常糟糕的想法...因此类似数组的数据通过指针传递(开始和大小,或者开始)和结束)或与自定义对象。

逻辑上,似乎在边界上暴露std:initializer_list<> const&的构造函数也是一个坏主意。它是否正确?另外,有没有办法确保std:initializer_list提供的类似体验,但是以安全的方式?例如,拥有自定义Vector对象,该对象封装std::vector<int>但可以使用来自其他客户端程序集的Vector({1,2,3,4,5})构建。

0 个答案:

没有答案