JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3:C++ 用户指南     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分C++ 编译器

1.  C++ 编译器

2.  使用 C++ 编译器

3.  使用 C++ 编译器选项

第 2 部分编写 C++ 程序

4.  语言扩展

5.  程序组织

6.  创建和使用模板

7.  编译模板

8.  异常处理

9.  改善程序性能

10.  生成多线程程序

第 3 部分库

11.  使用库

12.  使用 C++ 标准库

12.1 C++ 标准库头文件

12.2 STLport

12.2.1 重新分发和支持的 STLport 库

12.3 Apache stdcxx 标准库

13.  使用传统 iostream

14.  生成库

第 4 部分附录

A.  C++ 编译器选项

B.  Pragma

词汇表

索引

12.2 STLport

如果要使用替换 libCstd 的标准库,请使用标准库的 STLport 实现。可以使用以下编译器选项关闭 libCstd 并改用 STLport 库:

有关更多信息,请参见A.2.49 -library=l[ ,l...]

本发行版包括称为 libstlport.a 的静态归档文件和称为 libstlport.so 的动态库。

决定是否使用 STLport 实现之前,请先考虑以下信息:

12.2.1 重新分发和支持的 STLport 库

请参见分发自述文件,了解可依照“最终用户目标代码许可协议”的条款随您的可执行文件或库重新分发的库和目标文件列表。此自述文件的 C++ 部分列出该编译器发行版支持的 STLport.so 版本。此自述文件位于此发行版的 Oracle Solaris Studio 软件的法律页面上,网址为 http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html

因为以下测试示例中的代码将库实现假定为不可移植,所以在该测试示例中不能使用 STLport 编译。具体来说,它假定 <vector><iostream> 自动包含 <iterator>,这是无效假定。

#include <vector>
#include <iostream>

using namespace std;

int main ()
{
    vector <int> v1 (10);
    vector <int> v3 (v1.size());
    for (int i = 0; i < v1.size (); i++)
      {v1[i] = i; v3[i] = i;}
    vector <int> v2(v1.size ());
    copy_backward (v1.begin (), v1.end (), v2.end ());
    ostream_iterator<int> iter (cout, " ");
    copy (v2.begin (), v2.end (), iter);
    cout << endl;
    return 0;
}

要解决该问题,请将 <iterator> 包含在源代码中。