
c/c++
文章平均质量分 92
代码喵酱
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C++】 多线程下std::queue的线程安全?看完这篇就懂了
在多线程环境中,std::queue由于其非线程安全的特性,容易引发数据竞争、条件竞争和内存问题,导致程序崩溃或数据错乱。文章深入分析了std::queue在多线程环境下的问题根源,并提供了几种解决方案原创 2025-05-22 15:07:36 · 1035 阅读 · 0 评论 -
【C++11】C++ std::queue,这篇全掌握:原理阐释与代码实操
在C++标准库丰富的容器家族中,`std::queue`以其独特的先进先出(FIFO)特性占据着重要地位。无论是在日常的算法实现,还是复杂的系统架构中,`std::queue`都频繁现身,助力开发者高效地管理数据。本文将深入探讨`std::queue`的用法、常见使用场景及案例、使用时的注意事项,以及C++11为其带来的优化。原创 2025-04-28 10:15:00 · 1326 阅读 · 0 评论 -
【C++11】深度剖析 C++11 智能指针:告别内存泄漏
本文将深入探讨C++11中的智能指针,包括其概念、类型、用法以及优势,同时还会介绍智能指针的一些高级用法,并梳理C++14/17/20中对智能指针的增强。原创 2025-04-17 15:50:13 · 702 阅读 · 0 评论 -
【C++11】基于std::thread的并发编程:多线程开发不再难
C++11标准库为我们提供了一套强大而便捷的并发编程工具,使得C++开发者可以更加轻松地进行多线程开发。本文将深入介绍C++11中并发编程的核心特性,包括常用接口函数、线程管理、互斥量、条件变量等,帮助你掌握多线程开发的技巧。原创 2025-04-17 09:16:40 · 955 阅读 · 0 评论 -
【C++11】std::atomic 深度剖析:多线程编程的高效利器
在多线程编程的复杂世界中,数据竞争和线程安全问题一直是开发者们面临的棘手挑战。C++11引入的`<atomic>`头文件,特别是其中的`std::atomic`类型,为我们提供了一种强大的工具来应对这些问题,确保在多线程环境下对共享资源的安全访问原创 2025-04-14 16:23:00 · 1152 阅读 · 0 评论 -
【C++11】从一些实例看C++98与C++11的新特性和区别
随着C++语言的发展,C++11引入了许多重要的新特性,极大地提高了编程效率和代码质量。本文将对比C++98和C++11之间的主要区别,并通过具体的代码示例更好地理解和利用这些新特性。原创 2025-04-14 13:50:50 · 767 阅读 · 0 评论 -
多通道图像遍历
方法一:普通遍历for(int y = 0;y < height; y++)//行 { for(int x = 0; x < width; x++)//列 { Scalar pix = srcImg.at(y,x); int channle0 = pix[0]; int channle1 = pix[1]; int channle2 = pix[2];原创 2016-05-06 11:57:04 · 1955 阅读 · 2 评论 -
详解生成静态链接库lib文件和调用
一个解决方案很复杂的时候,有很多的.h文件和.lib文件,很容易混乱。将一个解决方案分成多个工程,有的工程用来生成静态链接库.lib或者动态链接库.dll,有的用来做主函数进行调用,思路清晰,用起来也很方便。本节讲如何生成静态链接库。1.建立一个静态链接库首先新建一个win32控制台应用程序,点击确定。点击“下一步”。选择“静态库”选项。完成即可。(本文中该项目库名称为lib)原创 2015-01-15 11:30:01 · 3084 阅读 · 0 评论 -
生成动态链接库dll和调用
上一文中详细介绍如何生成静态链接库,生成动态库的过程与它基本相似。主要步骤:1.创建一个dll文件首先新建一个win32控制台应用程序,点击确定。点击“下一步”。选择dll”选项。完成即可,本文中名为mydll。(图片参考上文)如果你新建的是一个windows应用程序,可以右击点击属性,在“配置类型”中点击“动态库”2.编辑mydll工程添加.h文件和.cpp文件。添加的类原创 2015-01-15 11:44:37 · 599 阅读 · 0 评论 -
const的作用和使用方法
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示:No.作用说明参考代码转载 2014-04-03 15:41:54 · 1065 阅读 · 0 评论 -
变量的存储类型
存储类型是从变量的存在时间(即生存期)来划分变量。变量的存储类型可分为静态存储方式和动态存储方式。对于动态存储变量,当程序运行到该变量处时才为其分配存储空间,当程序运行到该变量所在作用域的结束处时自动收回为其分配的存储空间,因此它的生存期为所在作用域。在程序开始就执行就为其分配存储空间,直到程序结束时,才收回变量的存储空间,这种变量称为静态存储空间,其生命周期为整个程序执行的过程。原创 2014-04-01 20:25:04 · 1250 阅读 · 0 评论 -
VS2012+Qt5.1配置及入门(hello world)
Qt5.1安装后,安装Qt VS Addin插件。安装的Qt路径为c:/Qt1.环境变量的配置在我的电脑属性里找到环境变量,在path中添加bin。即C:\Qt\Qt5.1.0\5.1.0\msvc\bin在VS中配置,安装完插件以后,在Vs的菜单栏会有Qt5一项。点击》Qt option》Add在path中添加C:\Qt\Qt5.1.0\5.1.0\msvc2.建立第一个Qt界面原创 2014-03-19 15:37:14 · 1883 阅读 · 0 评论 -
c++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 堆,就是那些由 new 分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个 new 就要对应一个 delete。如果程序员没转载 2014-03-28 15:58:49 · 709 阅读 · 1 评论 -
c++中map的使用
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!map的基本操作函数:C++ Maps是一种关联式容器,包含“关键字/值”对begin() 返回指向map头部的迭代器clear() 删除所有元素count() 返回指定元素出现的次数empty() 如果map原创 2014-03-28 16:17:56 · 652 阅读 · 0 评论 -
关键字typedef用法
C/C++语言中的typedef相信大家已经不陌生,本文对C/C++语言关键字typedef的各种用法作一个介绍。typedef,顾名思义,为“类型定义”,可以解释为:将一种数据类型定义为某一个标识符,在程序中使用该标识符来实现相应数据类型变量的定义。例如:typedef unsigned int UINT;int main (int argc, char *argv[]){转载 2014-01-13 11:09:33 · 600 阅读 · 0 评论 -
c++构造函数详解
本文出自 “对影成三人” 博客,请务必保留此出处http://ticktick.blog.51cto.com/823160/194307c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初学者有所帮助。转载 2013-09-23 15:43:09 · 585 阅读 · 0 评论