gps点的表示
Representation of the gps point
我有一组GPS点,记录如下:
point_label lat lon H
FraEur3 N35.3575 E12.4617 207.39
我正在考虑点标签的合适数据表示。
什么更好:
class GPSPoint
{
char * label;
double lat, lon, h;
};
或
class GPSPoint
{
char label[255];
double lat, lon, h;
};
第一个选项的内存消耗较少,但我必须编写复制构造函数、operator=
和析构函数等。
第二个选项更容易编码,但内存消耗更大。
你推荐哪种选择?我不想使用std::string
。。。
class GPSPoint
{
vector<char> label;
double lat, lon, h;
}
它不是字符串,并且是动态可分配的。
好吧,std::string
是解决方案,我无法想象你为什么要避免它。
不过,老实说,我根本不会有标签。让你的点类只包含坐标;你可以处理这种逻辑之外的标签。
在第一种情况下,您需要在其他地方为字符串内容分配内存。与std::string相比,绝对没有理由更喜欢这个。
您应该能够找到关于字符串最大长度的文档,以减少固定字符数组的大小。
我当然希望你有一个充分的理由来解雇std::string。
相关文章:
- 表示"accepting anything for this template argument" C++概念的通配符
- 如何将ampl中的集合表示为c++中的向量
- std::is_base_of表示ctor编译错误
- 输入中的字符串数未知(以字母表示)
- 我可以信任表示整数的浮点或双精度来保持精度吗
- c++模板来表示多项式
- 询问在设计我的手臂模拟器功能表示格式1
- CMakeLists.txt中的命名空间表示法
- C++射线示踪剂ppm表示没有足够的数据来显示图像
- 如何计算Big-O表示法中的平均渐近运行时间
- 我应该如何表示我拥有的连续元素序列?
- 在C++中,使用带有 std::optional 参数的函数<T>来表示可选参数是否有意义?
- 在 std::无符号字符的向量处存储 int 的十六进制表示形式
- 表示类模板C++空类型
- 具有所表示类的相同构造函数签名的代理类模板
- 嵌套在循环中的两个循环的 big-O 表示法
- 具有引用成员的结构是否具有唯一的对象表示形式
- 使用 int 表示浮点除法 C++
- 查找表示 GPS 路线的两条线(MATLAB、Java、C++ 或 Python)之间的距离
- gps点的表示