
c++
Amnesia Greens
记录探索轨迹,方便复现。
展开
-
STL库中atan2的使用说明
double atan2(double y,double x);返回 y/x 的反正切值θ,单位为弧度,值域为(-π,π]。tan(θ) = y/x,θ = atan2(y, x)。原创 2021-08-23 16:15:55 · 314 阅读 · 0 评论 -
获得enum 枚举数量的方法
获取枚举量的数量的骚操作,妙呀,是我太古板了。https://cloud.tencent.com/developer/article/1143165enum枚举小技巧enum BulletKind { BULLET_KIND_1= 0, BULLET_KIND_2, BULLET_KIND_3, BULLET_KIND_4, BULLET_KIND_5, BULLET_KIND_6, BULLET_KIND_7, BULLET_KIND_8, BULLET_KIN转载 2021-05-12 11:29:48 · 5302 阅读 · 3 评论 -
c++ 的参数输入
参考https://zhuanlan.zhihu.com/p/180347704在命令行运行c++代码时,可以在程序名之后跟上一些参数,下面就是一个案例:./AA-SIPP-m task_file_name.xml map_file_name.xml config_file_name.xml obstacles_file_name.xml./AA-SIPP-m是要运行的c++代码以空格分隔开的task_file_name.xml、map_file_name.xml、config_file_n.原创 2021-03-25 18:59:49 · 1391 阅读 · 7 评论 -
c++使用迭代器进行insert和erase操作的血泪教训——为找出这丫我debug了两三天(vector的erase使用注意事项)
@toc1.问题描述有一指针vector<B*>名为vector_b,其有属性A,现要找出所有属性A的值为a1的项并删除,如下代码有何问题:iter = vector_b.begin();while(iter != vector_b.end()){ if((*iter)->A == a1) { deleteB((*iter)); vector_b.erase(iter); } ++iter;}其中函数deleteB的定义原创 2020-11-07 03:24:02 · 356 阅读 · 0 评论 -
c++ vector容器使用迭代器的一个bug 记录
文章目录1. 问题描述2. 问题解决1. 问题描述有一个函数可以返回一个vector,形如:std::vector<classA> classB::getVector();想直接使用迭代器对函数返回值进行遍历,即打算使用以下结构进行遍历:std::vector<classA>::iterator iter = b.getVector().begin();while(iter != b.getVector().end()) { cout << (*iter)原创 2020-10-28 20:04:22 · 320 阅读 · 0 评论 -
QT 中自动生成类成员变量的 get()/set() 函数的方法
1 问题描述c++ 面对对象的方法要求我们对类的属性尽量不要设置为 public 类型,以保证代码的稳健型。但是有些属性,我们只是系统简单的获取和修改其值,如果手工编写get()/set() 函数,效率会比较低,在 VS 中是有自动生成这两个函数的方法的,那么在Qt Creator 中是否有类似的方法呢?2 问题解决答案是“有”,具体操作方法如下:左键单击类中声明的属性变量;按下快捷键Alt+Enter;选择弹出的菜单中的第一个选项Create Getter and Setter M原创 2020-09-16 15:24:04 · 6330 阅读 · 7 评论 -
c++ 使用类模板时类声明和类方法定义分开导致`undefined reference to` 错误的一种解决方法
文章目录1 问题描述2 问题分析3 解决方案1 问题描述在编写c++代码时使用到了类模板,并且将类的声明与类方法的定义分别放到了两个文件中(fun.h与fun.cpp),结果编译时报错: error: undefined reference to ×××2 问题分析标准要求编译器在实例化模板时必须在上下文中可以查看到其定义实体;而反过来,在看到实例化模板之前,编译器对模板的定义体是不处理的——原因很简单,编译器怎么会预先知道typename 实参是什么呢?因此模板的实例化与定义体必须放到同一翻译原创 2020-09-14 19:53:44 · 2603 阅读 · 0 评论