![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 51
C/C++遇到的一些使用问题
coison_z
这个作者很懒,什么都没留下…
展开
-
关于类内定义模板函数,类外实现的未定义问题
今天在写JSON解析器的时候发现的问题,代码如下。JObject.h文件public://在类内声明了一个模板函数JObject.cpp文件// 添加安全检查 if constexpr(IS_SAMETYPE(T , t_str)) {if(m_type!if(m_type!if(m_type!if(m_type!if(m_type!if(m_type!// 添加安全检查 if constexpr(IS_SAMETYPE(T , t_str)) {if(m_type!原创 2023-08-30 11:33:53 · 125 阅读 · 1 评论 -
C++中new一个一维数组和二维数组
【代码】C++中new一个一维数组和二维数组。原创 2023-08-17 16:43:43 · 266 阅读 · 1 评论 -
无符号整型减去一个比自己大的数遇到的坑--力扣18
型, 当nums.size() - 3 小于0时, 由于无符号变量不可能为负数,所以要对 nums.size() - 3 的值进行。中,当nums.size()的值小于等于3时,依然能进入循环体内;这是因为nums.size()返回的是一个无符号。模运算以防止其为负数。原创 2023-08-17 14:43:55 · 236 阅读 · 1 评论 -
为什么STL默认用deque作为stack和queue底层结构实现,而不是list或者vector
如果对于插入和删除操作的效率要求不高,而对随机访问和连续存储的性能要求更高,可以选择。这种连续性便于迭代器的操作和元素的访问。的元素在物理内存中并不连续,但它在逻辑上给出了一个连续的序列。是双端队列的实现,它支持在队首和队尾进行高效的插入和删除操作。的插入和删除操作在平均情况下更为高效,因为它不需要移动大量的元素。STL 提供了不同的容器,以便根据具体的场景选择最合适的底层实现。在插入和删除操作两端的性能上具有优势,并且具备较好的空间效率。在插入和删除操作时,不会影响已存在的迭代器的有效性。原创 2023-08-16 23:50:20 · 167 阅读 · 1 评论 -
C++智能指针weak_ptr
如果有两个shared_ptr相互引用,那么这两个shared_ptr指针的引用计数永远不会下降为0,资源永远不会释放。weak_ptr是对对象的一种弱引用,它不会增加对象的use_count,weak_ptr和shared_ptr可以相互转化,shared_ptr可以直接赋值给weak_ptr,weak_ptr也可以通过调用lock函数来获得shared_ptr。,这个weak_ptr用来观察this智能指针,调用shared_from_this()方法是,会调用内部这个weak_ptr的。原创 2023-03-18 23:32:48 · 148 阅读 · 0 评论 -
结构体定义中不可以包含自己类型的变量,可以包含自己类型的指针
结构体定义中不可以包含自己类型的变量,可以包含自己类型的指针原创 2023-03-07 20:12:51 · 598 阅读 · 1 评论