石家庄 网站编辑,浙江和海建设集团网站,页游平台排行榜,个人做多个网站备案这里的vector是实际值#xff0c;而relation是指针#xff0c;所以要解引用#xff0c;*$1#xff0c;并在最后调用其析构函数
emplace_back 和 push_back 都是用于在容器#xff08;如 std::vector#xff09;的末尾添加元素的方法#xff0c;但它们的工作方式有所不同…
这里的vector是实际值而relation是指针所以要解引用*$1并在最后调用其析构函数
emplace_back 和 push_back 都是用于在容器如 std::vector的末尾添加元素的方法但它们的工作方式有所不同 push_back: 将一个已经创建好的对象复制或移动到容器的末尾。如果对象较大或复制代价较高性能可能会受到影响。 emplace_back: 直接在容器的末尾构造对象避免了额外的临时对象创建和复制或移动操作。适用于支持原地构造的对象可以提高性能。 包括这些在构造的时候也是要用实际的值的要额外分配一块内存的原来的内存就由delete来释放调 std::vectorJoinSqlNode * inner_join_list;
这是一个指针 在sqlNode当中 这个list最后返回的是一个指向vector的指针new的时候在堆上,然后在使用方法的时候确实是用的-来进行的只是指向数组的指针确实挺抽象的
DEBUG
pro1 这是在.h文件当中relationSqlNode的定义比Join要晚所以出错了 调整其顺序在其前面就行了
pro2 这东西和专业能力测试的时候一样以后遍历vector就用size_t了
pro3 这里joinSqlNode里要求是*,但是 在类型声明当中声明它们是指针 所以在识别的时候解引用就是让右值的实值类型转为指针类型
解引用就是拿的实际数据
未解之谜
解引用得到的数据是其所指向的实际数据吧,那swap后不也是那些数据吗,这时候delete了,拿数据不就没了?
vector在赋值的时候常用swap
pro4
Select * from join_table_1 inner join join_table_2 on join_table_1.idjoin_table_2.id and join_table_2.num13 where join_table_1.nameb;
这句有问题 id相同满足了后面有一个AND连接但是没有发挥作用
原因就是这里接收的时候写定了就是接收一个condition 把joinSqlNode中的condition改为vector,并修改赋值时候的语句为 即可
subpro1 就是之前的语句忘了修改vector不能用nullptr来判断改成直接inser即可
未解之谜
就是打印的时候有时候正常有时候发电不过数据倒是都正确了 究极大迷