我看到来自c++11
的许多std类来自boost
库。所以boost库有array,mutex,shared_ptr,unique_ptr,function等,以及具有几乎相同接口和语义的std模拟。我想知道,为什么不建立模式来提升,
我可以在其中添加-DUSE_CXX11_CLASSES
之类的编译器标志,
并且提升低级别的东西只变成typedef
到std
一个?
因此,例如,如果我使用boost:program_options
和c++11
,
我的程序中没有多个副本。
我的意思是,对于不支持c++11
的编译器而言,提升低级别类是好的,但为什么不支持{}支持c++11
使用已有的东西的编译器呢?
答案 0 :(得分:1)
某些库在检测到时会自动使用c ++ 11类。这取决于图书馆作者。
您无法使用此类通用编译标记。