# BetterSTL cin/cout 支持 现在三个核心类都支持标准输入输出: ## BigInteger - 高精度整数 ```cpp #include #include bstl::BigInteger bi; std::cout << "Enter a large integer: "; std::cin >> bi; std::cout << "You entered: " << bi << std::endl; ``` 支持任意精度的整数输入输出,不受 `long long` 限制。 ## BigDecimal - 高精度浮点数 ```cpp #include #include bstl::BigDecimal bd; std::cout << "Enter a decimal number: "; std::cin >> bd; std::cout << "You entered: " << bd << std::endl; ``` 支持任意精度的浮点数输入输出,精度不丢失。 ## String - 增强字符串 ```cpp #include #include bstl::String str; std::cout << "Enter a word: "; std::cin >> str; std::cout << "You entered: " << str << std::endl; // 可以使用 Python 风格的方法 std::cout << "Uppercase: " << str.upper() << std::endl; std::cout << "Split: "; auto parts = str.split("_"); ``` ## 使用示例 编译和运行演示程序: ```bash cd /home/archzero/C++/BetterSTL cmake -S . -B out/build -G Ninja cmake --build out/build # 运行库测试 ctest --test-dir out/build # 运行演示(需要在终端交互) ./out/build/IOTests ``` ## 实现细节 ### operator<<(输出) - BigInteger: 通过 `toString()` 输出 - BigDecimal: 通过 `toString()` 输出 - String: 通过 `str()` 输出 ### operator>>(输入) - BigInteger: 读取字符串,创建新对象 - BigDecimal: 读取字符串,创建新对象 - String: 读取字符串,创建新对象 所有运算符都定义在 `bstl` 命名空间中。 ## 编译链接 在编译你的程序时: ```bash g++ your_program.cpp -I/path/to/include -L/path/to/lib -lBetterSTL -o your_program ``` 或者使用静态库: ```bash g++ your_program.cpp -I/path/to/include /path/to/libBetterSTL.a -o your_program ```