![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
梦回普达措
C++,C#,机器学习
展开
-
linux下读写文件
// constructing threads#include <iostream> // std::cout#include<sys/time.h>#include<queue>#include <string.h>#include <fstream>using namespace std;int m...原创 2019-11-01 16:30:03 · 282 阅读 · 0 评论 -
linux计算程序运行时间
可参考:https://www.linuxidc.com/Linux/2012-06/61903p2.htm在计算多线程程序运行时间的时候,用可能会出问题,但是用以下方法会好一些:#include <iostream> #include<sys/time.h>using namespace std;int delay(int time){ ...原创 2019-10-31 13:23:35 · 490 阅读 · 0 评论 -
Qt树控件QTreeWidgetItem的itemClicked和itemChanged信号槽失灵的解决办法
在使用树控件的itemClicked和itemChanged的过程中,发现总是没有办法进入到槽函数中,最后不断测试,终于解决。以下方法供参考。可能的解决办法:1.信号槽连接时语句中不能带参数名:connect(this->ui->treeWidget,SIGNAL(itemClicked(QTreeWidgetItem*item1, int c...原创 2019-03-20 16:12:57 · 18535 阅读 · 4 评论 -
c++map如何解决多个键的集合对应一个值的问题(自定义哈希键)
可以参考https://www.cnblogs.com/Shinered/p/9193329.html转载 2019-05-27 11:18:49 · 2595 阅读 · 0 评论 -
多线程例子之数据竞争和互斥对象(锁、互斥量)
代码来源自百度传课教学视频:https://chuanke.baidu.com/v3891329-172880-843280.html意看注释。#include <iostream>#include <thread>#include <mutex>#include <string>#include <fstream>...原创 2019-06-12 21:53:56 · 479 阅读 · 0 评论 -
死锁的形成示例
代码来源于百度传课视频:https://chuanke.baidu.com/v3891329-172880-852300.html注意看注释。#include <iostream>#include <thread>#include <mutex>#include <string>#include <fstream>...原创 2019-06-13 10:26:30 · 288 阅读 · 0 评论 -
如何处理死锁问题
代码来源于百度传课:htps://chuanke.baidu.com/v3891329-172880-852300.html总结如下:1.评估一下程序,看看是否确实需要有两个mutex?如果只有一个mutex,就不存在死锁的问题了。2.避免在锁住mutex的同时,去调用另外的我们不熟悉的函数,因为有可能这个函数包含了另外的锁,所以我们必须清楚我们所调用的其他的函数或者类。3.如果确...原创 2019-06-13 11:48:45 · 1317 阅读 · 0 评论 -
自己实现String类
资源来自 b站视频: 探讨C++常见问题 -- 授课者:今夜有风 (AV33683760)#define _CRT_SECURE_NO_WARNINGS#include <iostream>using namespace std;class String {public: String(const char* st...原创 2019-06-23 13:02:39 · 2623 阅读 · 1 评论 -
linux常用命令(2)
以下资料来自B站视频: 搜索“传智黑马2019最新c语言、c++全栈培训” 即可,(up主:A小酱友)linux版本:Ubuntu1. ctrl + c 退出锁定,或者说是退出当前编辑(用于cat命令后无法跳出编辑状态的情况)2. ctrl +alt+t 快速打开终端3. tab 智能补全,若无重复选项则自动补全,若有重复选项,则按两下tab会列出列表...原创 2019-06-29 11:45:09 · 133 阅读 · 0 评论 -
c++面试可能考到的题目
1.共享内存 共享内存是最快的IPC(进程间通信)形式。两个进程A,B共享内存的意思是,同一块物理内存被映射到进程A和B的各自的进程地址空间,进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。2....原创 2019-06-29 11:45:37 · 305 阅读 · 0 评论 -
linux下C++程序的编译编辑和调试基础知识(g++,makefile,gdb)
编辑:用记事本 或vim 等编译:用g++ 或 makefile调试: gdb (gdb是比较粗糙的调试器)一、g++的使用 1. g++ test.cpp 这样是不能编译的,除非test.cpp的含义是指所有的文件,包括链接文件。 其实和windows下编译程序一样,windows编译程序时,每一个cpp会生成对应的一个obj,有多少个...原创 2019-06-30 22:34:08 · 936 阅读 · 0 评论 -
linux下c++多线程测试程序Demo
一、编写代码如下,取名为hello.c或者hello.cpp均可#include <iostream>#include <thread>using namespace std;void show(int i){ cout <<"now the show is "<<i<<endl;} int main(){...原创 2019-07-25 00:27:59 · 631 阅读 · 0 评论 -
C++ 11vector erase使用之如何循环遍历删除Vector中的各个元素
无语,有时候遇到删除Vector中的元素时会奔溃的问题,就这样解决:#include<iostream>#include <vector>using namespace std;int main(){ vector<int> vecInt; vecInt.push_back(7); vecInt.push_back(4); vecIn...原创 2019-08-19 20:32:47 · 4600 阅读 · 0 评论 -
用纯C++批量给文件改名(文件可以嵌套在多个文件夹中)
#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <windows.h>#include <stdlib.h>using namespace std;bool AlterFileName(string strDir, string strSrc, string strDes);st...原创 2019-08-21 16:11:13 · 666 阅读 · 0 评论 -
qt控件鼠标事件失效的可能的处理办法
Qt程序中,比如我们有一个控件,但是这个控件的鼠标按钮失效了,而控件外侧的鼠标事件却没有失效,原因可能是没有给这个控件做如下设置:ui->radioButton->setAttribute(Qt::WA_TransparentForMouseEvents, true);...原创 2019-03-20 15:40:02 · 4726 阅读 · 3 评论 -
如何简单地创建一个目录(多级目录)
如何创建一个目录?除了mkdir以外,有一个函数也很好用的。那就是CreateDirectory()。CreateDirectory():若目录不存在,则创建。若目录已存在,则什么都不做该函数只创建一级目录,假如我们要创建二级以上目录时,应该分开来一步步创建。如果要创建多级目录,就要自己封装一下,可以参考这里的代码 ,但是,如果你发现编译的时候报错:“const wchar...原创 2019-03-14 11:45:21 · 4276 阅读 · 0 评论 -
C,C++字符串比较时, strcmp和==有什么区别?
资料来源:https://zhidao.baidu.com/question/538567915.html注意看,以下的代码有什么区别?注意看注释//filleData.name 的类型是 char name[260]if (strcmp(findData.name, ".") == 0 || strcmp(findData.name, "..") == 0){...原创 2019-03-14 11:31:31 · 1855 阅读 · 0 评论 -
随笔--C语言知识--判断两个相近的浮点数相等
float p = 888888888.1;float q = 888888888.1000005;if(p-q > -0.000001 && p-q<0.000001){puts("==");}else{puts("!=");}原创 2018-03-26 22:11:29 · 725 阅读 · 0 评论 -
随笔--C语言--putchar()和putc()函数
1.putchar:传入一个0-127的整数(若传入浮点数将会按整数处理),则会向屏幕输出一个对应该数字的字符;2.putc:比putchar更强大一点,putc的第一个参数是数字,第二个参数是文件指针,可以将字符打印到对应的文件中,而不是像putchar一样只能打印到屏幕上;因此putchar的第二个参数是stdout时和putchar函数是等效的;eg:putchar('a') ;//结果是在...原创 2018-03-26 22:46:44 · 4399 阅读 · 0 评论 -
随笔--C++/C语言知识--为什么要用“extern C”
------- 点击转到转载来源 -------- 想一想,如果C++程序要调用一个已经编译好的C程函数时,该怎么操作呢? 如果有一个C函数的声明是这样的:void foo(int x, bool y)该函数在C编译器编译后在库中的名字为 "__foo";该函数在C++编译器编译后在库中的名字为"__foo_int_bool" ,之所以C++编译器这样操...转载 2018-04-03 20:11:46 · 422 阅读 · 0 评论 -
C与C++输入输出流符号“《”和“》”的理解(傻瓜式解说)
刚开始接触程序的同学,应该经常会写带有输入输出流符号“<<”和“>>”语句,很容易将"<<"和“>>”混淆,我讲一下自己的体会,或许会对新手有点帮助。一、对 "<<"的理解 cout <<"i_am_cout"; 此语句将在屏幕上打印出“i_am_cout”的字符串。原创 2019-01-26 18:09:03 · 3745 阅读 · 0 评论 -
qt如何注册全局热键
1.使得类继承于QAbstractNativeEventFilter(#include <QAbstractNativeEventFilter>)2.添加槽函数virtual bool nativeEventFilter(const QByteArray &eventType, void *message, long *) Q_DECL_OVERRIDE;3.在c...原创 2019-01-26 19:07:08 · 883 阅读 · 0 评论 -
随笔--C、C++整型,长整型与字符串之间的相互转换
1.__int64 转化为字符串char ch[128];__int64 m = 9899;_i64toa_s(m,ch,128,10); //128 表示字节数,10表示十进制std::string tempStr = ch;//tempStr存储着 字符串“9899”2.字符串与字符串之间赋值char ch1[128];char ch2[128];strcpy(...原创 2019-01-29 15:54:42 · 2492 阅读 · 1 评论 -
随笔--C语言知识--多字节变量
char 一个字节short 两个字节int , float 四个字节double , __int64 八个字节 usigned short和short之间的关系 unsigned int 和 int之间的关系原创 2019-01-29 15:55:30 · 317 阅读 · 0 评论 -
如何利用标准库sort函数进行排序
参考资料:《C++ Primer》一、对向量(vector)中的元素排序 #include <vector> ///可能需要#include <algorithm> ///可能需要std::vector<int> n...原创 2019-01-29 17:36:53 · 230 阅读 · 0 评论 -
vector的使用(持续更新中。。。)
资料来源:《C++ Primer》一、初始化vector<int> veco; /// 空的 vectorconst int size = 8; const int value = 1024; vector<int> vec1( size ); /// 每个元素都被初始化为 0 vector&l...原创 2019-01-29 19:00:00 · 224 阅读 · 0 评论 -
string和char*的转换,string类的知识
一、char*转string //string 类型能够自动将 C 风格的字符串转换成 string 对象, 因此 直接赋值即可:string s1; const char *pc = "a character array"; //加不加const都行s1 = pc; // ok 二、string转char*//c_str()返回了一个指...原创 2019-02-11 13:53:32 · 10821 阅读 · 0 评论 -
如何区分指针常量和常量指针
一、傻瓜式理解概念(一)常量指针:“常量的指针”的缩写。“的”是形容词,比如“聪明的小张”,“猥琐的老李”,重点都放在“的”字后面的“小张”和“老李”上,而不是“的”字前面的“聪明”和“猥琐”上。因为“的”字前面的是形容词是用来修饰“的”字后面的名词的某种属性的。同理,“常量的指针”这几个字的重点是“的”字后面的“指针”,所以,“常量的指针”描述的是一个指针。(二)指针常量:“指针...原创 2019-02-28 10:56:50 · 406 阅读 · 0 评论 -
指针,数组,字符串与sizeof()
以下内容转载自《学步园》:https://www.xuebuyuan.com/941050.htmlchar* ss = "0123456789";sizeof(ss) 结果 4 ===》ss是指向字符串常量的字符指针/////////////////////////////////你要的答案sizeof(*ss) 结果 1 ===》*ss是第一个字符char ss[] = "...转载 2019-03-05 11:27:43 · 1332 阅读 · 0 评论 -
用一种简单的方法遍历一个目录下的所有文件
以前都是用一些现成的方法遍历文件和目录,这次,偶然间发现了一种直接用api的方法,貌似Windows/Linux通用, 感觉如小李飞刀一般自如轻快,却不失威力。搬运过来供查阅。以下内容转载自:https://www.cnblogs.com/collectionne/p/6815924.html#include <iostream>#include <cs...转载 2019-03-14 11:20:40 · 490 阅读 · 0 评论 -
如何实现文本框中只能输入数字和字母(即只能输入IP格式的字符)
/*调用窗体的PreTranslateMessage函数 ,处理键盘键入事件 ;曾经尝试写到OnMessage函数中,发现无法实现检测键盘输入的功能;这里的GetFocus()函数是获得当前焦点所在的控件*/BOOL CLocalSetDlgChild::PreTranslateMessage(MSG* pMsg){ /* 如果是回车键,则改变刚刚键入的回车键的值,使他变为...原创 2018-02-07 13:40:09 · 1090 阅读 · 0 评论