![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
踩过的坑
tux~
这个作者很懒,什么都没留下…
展开
-
json转化为proto
json->proto原创 2022-06-21 11:39:13 · 1900 阅读 · 0 评论 -
C++前向声明
这个代码我写的时候一直报错,就b了狗了class b;class a{ public: b* x; a():x(new b){};///<这里编译错误};class b{ public: int bb;};报的编译错误,我写菊读图的时候明明试过,知道b在声明之前就调用是不行的,但是我有声明啊???原来前向声明并不是万能的,不是说我声明了就可以随意使用。你只能定义该类型的引用和指针,像我图中的做法就是定义了一个对象,这肯定是不允许的,那怎么才能正常呢?所有函数都设置成外原创 2022-04-06 10:00:13 · 1549 阅读 · 5 评论 -
map中括号的坑
这个坑其实我早就知道,只不过是没有这个数据就会自动创建而已,顶多是一些错误数据而已,今天竟然出现了编译错误!!!我特么还以为是构造函数的问题,查了一小时。我平时map用的很少,都是unordered_map,但是如果数据量小,哈希的效率还没有红黑树高,我就换了map,开始的时候看到源码中用的中括号,我就用了,也过了,就没当回事,后来自己大改,编译错误就出现了。报的这个错误In instantiation of ‘std::pair<_T1, _T2>::pair(std::tuple<原创 2020-08-07 17:02:05 · 950 阅读 · 0 评论 -
shell -a判断文件是否存在的坑
昨天在判断文件是否存在的时候用了网上的办法if [[ ! -a "${FILE}" ]]; then return 1结果发现这个if永远都会进去,不管文件是否存在,但是man上明明写的是-a用于判断文件是否存在啊!我懵逼了,结果后来在网上看到了一篇文章,说-e的注释和-a一毛一样,但是它俩是有区别的,比如判断文件是否存在,上面那种情况应该用的是-e,-a确实有问题,这也就说明了,为什么翻遍网上文章,用啥的都有,但是没人用-a判断,只是为了完整性把所有的都贴出来了而已。if [[ ! -e "原创 2020-08-06 11:39:25 · 327 阅读 · 0 评论 -
宏冲突的解决问题
这个问题在10个月前我还需要去找领导,现在终于不用了。感觉好简单的说。问题是这样,我引用了一个开源库,包含的它的头文件,显示宏冲突。开源库叫做TAO.c、TAO.h,我自己的文件叫OKAMOTO.c(大爱冈本多绪)。1.define冲突其中TAO.h中定义的宏和OKAMOTO.c中的冲突了,那肯定是ifndef啊,但是如果我把.h中的宏加上ifndef的话,会不会影响到TAO.c中原有的内容呢?我认为是不会的,问了几个同事,他们不确定,我就自己测试了一下,下面是内容TAO.c#include &l原创 2020-07-30 12:46:23 · 1250 阅读 · 2 评论 -
从sqlite中读出的数据带\r
文章目录1.sqlite的汉字编码为UTF82. string的\r是两个字符吗3. string.length()和strlen()长度不一样1.sqlite的汉字编码为UTF8昨天在联调的时候发现我在检索数据库中读出的数据是空的,用sqlite database browser看这条数据并不完整,没有汉字,只有字符。添加完打印后发现CRT打印出来的汉字是乱码,这才反应过来是汉字编码方式不对。询问同事后得知sqlite中最好用utf8,工具中也是用的这个,否则会出现无法查看,但是测试后才发现,我们程序原创 2020-07-25 10:00:25 · 337 阅读 · 0 评论