SHA256
1.9 KiB
1.9 KiB
BetterSTL cin/cout 支持
现在三个核心类都支持标准输入输出:
BigInteger - 高精度整数
#include <bstl/big_integer.hpp>
#include <iostream>
bstl::BigInteger bi;
std::cout << "Enter a large integer: ";
std::cin >> bi;
std::cout << "You entered: " << bi << std::endl;
支持任意精度的整数输入输出,不受 long long 限制。
BigDecimal - 高精度浮点数
#include <bstl/big_decimal.hpp>
#include <iostream>
bstl::BigDecimal bd;
std::cout << "Enter a decimal number: ";
std::cin >> bd;
std::cout << "You entered: " << bd << std::endl;
支持任意精度的浮点数输入输出,精度不丢失。
String - 增强字符串
#include <bstl/string.hpp>
#include <iostream>
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("_");
使用示例
编译和运行演示程序:
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 命名空间中。
编译链接
在编译你的程序时:
g++ your_program.cpp -I/path/to/include -L/path/to/lib -lBetterSTL -o your_program
或者使用静态库:
g++ your_program.cpp -I/path/to/include /path/to/libBetterSTL.a -o your_program