![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++基础
elie813
芝兰生于幽谷 不以无人而不芳
展开
-
LRU C++算法实现
C++ LRU原创 2021-01-20 17:26:25 · 2575 阅读 · 0 评论 -
闲谈pthread_cond_wait虚假唤醒
关于多线程下条件变量的作用这里就不多讲解了,这里主要是针对条件变量操作时需要注意一个特性虚假唤醒,首先看一段代码。 task * _deal_task = NULL; //lock pthread_mutex_lock(&m_thread_mutex); if(!m_task_queue.empty()) { //get task _deal_task = m_t...原创 2019-10-30 15:00:58 · 588 阅读 · 0 评论 -
in ?? () from /usr/lib64/libstdc++.so.6 linuxC++string 程序异常崩溃
今天跨平台移植代码完成以后,测试环境跑服务发现windows下正常,linux程序出现崩溃报段错误。信息如下in ?? () from /usr/lib64/libstdc++.so.6。查看了下代码发现定义的结构体内部初始化用了memset(this, 0 , sizeof(struct)), 其实这个错误主要原因就是这里 “不要对含有字符串的结构体使用memset”。...原创 2019-08-27 19:27:45 · 1125 阅读 · 1 评论 -
解决 error C1083: 无法打开预编译头文件xxx.pch: No such file or directory
解决办法:在解决方案资源管理器中:1、在stdafx.cpp上右键–>属性2、弹出的stdafx.cpp属性框中,选择配置属性–>C/C++–>预编译头3、在预编译头中选择“创建”,而不是原来默认的“使用”4、其他cpp文件默认“使用”就OK了...转载 2019-08-19 19:07:13 · 1646 阅读 · 0 评论 -
centos g++升级
C++如果在linux编译对应的C++11标准代码需要升级相应版本的GCC,默认yum安装的版本是4.4.7 可以gcc --version观看自己的版本,如果想升级gcc可以分为两种方式:第一种源码方式编译: wget 源码 然后 准备相应的依赖资源 然后自己编译。第二种方式利用yum:指令为sudo yum install centos-release-sclsudo yum ins...原创 2019-06-18 16:18:57 · 743 阅读 · 1 评论 -
荷兰国旗问题解题思想
关于荷兰国旗排序问题可以简化理解将一个数组中的数据排序,比如给定一个buffer内部元素有N个0,1,2,buffer内部是无序的,如果要求通过一趟扫描,并且不能利用额外的空间,进行排序如何解决。这种问题最直观的思想就是采用多指针策略,元素起始位置一个移动索引A,元素的尾部一个移动索引B,然后一个移动索引C来扫描数组,开始的时候A与C的索引位置形同,如果这个时候C位置是0则与A进行交换,然后A与...原创 2019-07-01 17:06:37 · 369 阅读 · 0 评论 -
获得可执行程序EXE当前目录
TCHAR Path[ MAX_PATH ] = {0}; if ( GetModuleFileName( NULL, Path,MAX_PATH ) ) { (_tcsrchr(Path,_T('\\')))[1] = 0; } CString strPath = szPath; CString strPath_ = strPath + L原创 2018-01-10 14:47:12 · 672 阅读 · 0 评论 -
mfc edit 控件实现多行设置
设置MultiLine = TRUE 设置Vertical Scrollbar = TRUE 设置Horizontal Scrollbar = FALSE 设置Auto HScroll = FALSE 设置Want Return = FALSE 设置Auto VScroll = TRUE原创 2018-01-10 10:24:13 · 1890 阅读 · 0 评论 -
C C++ 字符串分割
C C++ 字符串分割处理原创 2017-11-16 20:20:58 · 362 阅读 · 0 评论