- 博客(188)
- 资源 (3)
- 收藏
- 关注
原创 C语言笔记
1,C语言变量定义//标识符,只能由字母,数字,下划线组成,且首字符不能为数字int a1;//正确int _a2;//正确//int 3a;//这样定义是错误的2,整型数据类型//整型数据类型://基本型:int//短整型:short int(short)//长整型:long int(long)//无符号型:unsigned int,unsigne...
2020-02-15 11:57:44
455
原创 Boost多线程和Asio
BOOST ASIO 学习专贴https://www.cnblogs.com/zhangdongsheng/p/6984634.html Boost线程库学习笔记https://www.cnblogs.com/younes/archive/2010/06/06/1752745.html
2018-10-24 13:53:24
444
原创 centos 安装C/C++语言帮助手册
一,安装C语言帮助手册 CentOS系统有可能默认没有安装C语言帮助手册,man一个函数时会找不到帮助文件,用下面的命令安装: yum install man-pages.noarch -y =>安装C语言帮助手册 man 2 open =>查看open函数二,安装C++语言帮助手册 用下面的命令安装: ...
2018-09-14 17:51:58
1146
原创 vs2010开发linux平台C++程序开发环境配置+用vs2010调试linux程序 ----VisualGDB 使用教程
https://blog.youkuaiyun.com/wanyeye/article/details/42295727 VIM 其实配置为IDE后,其实也是相当不错的,编辑功能相当强大,偶尔看到有人提到了本文中的写代码方式,于是就想尝尝新。搜索了一下,这个方式的帖子不是很多,稍微花了点时间,摸索了下,还行,在VS2010下编写代码,到ubuntu下编译,一切OK! 主机:WIN7虚机...
2018-09-05 16:23:04
2899
原创 STL学习笔记(六),map的使用
#include <iostream>#include <map>#include <string>using namespace std;typedef map<int,string> mymap;//map插入元素的三种方法static void test01(){ mymap map1; //插入元素的三种方法: ...
2018-08-02 11:03:59
244
转载 extern "C" 用法解析
https://blog.youkuaiyun.com/qq_33724710/article/details/51469653
2018-07-31 15:28:54
238
转载 C++常用代码(三),C++中ASCII、unicode与Utf8之间的相互转化
https://blog.youkuaiyun.com/liujiayu2/article/details/71080646头文件:UTN.h#pragma once #include "stdafx.h" #include "windows.h" #include <iostream> #include <string> using namespace ...
2018-07-31 14:57:51
4001
1
转载 STL学习笔记(五),什么样的对象才能作为STL容器的元素
https://blog.youkuaiyun.com/fuzhongmin05/article/details/59111917 这是在使用STL容器前必须搞清楚的一个很重要的问题!STL容器采用拷贝方式来接收待插入的元素对象——在插入的时候容器自动新建等量的元素对象,并用待插入对象依次初始化它们(调用拷贝构造函数);在删除元素时,容器负责释放其内存资源(对于采用随机存储策略的...
2018-07-27 10:36:27
314
转载 STL学习笔记(四),高效使用 STL
高效使用STL仅仅是个选择的问题,都是STL,可能写出来的效率相差几倍;熟悉以下条款,高效的使用STL;当对象很大时,建立指针的容器而不是对象的容器1)STL基于拷贝的方式的来工作,任何需要放入STL中的元素,都会被复制;这也好理解,STL工作的容器是在堆内开辟的一块新空间,而我们自己的变量一般存放在函数栈或另一块堆空间中;为了能够完全控制STL自己的元素,为了能在自己的地盘随心干...
2018-07-18 10:55:09
241
原创 QTCreator + MSVC10编译器 使用boost::filesystem 时 error LNK2019: codecvt ... 问题的解决
今天在将一个QTCreator管理的项目 从Linux下 拿到Windows 下(使用MSVC10编译器) 来编译时发现居然通不过。报了以下连接错误:error LNK2019: 无法解析的外部符号 "public: static class std::codecvt<unsigned short,char,int> const & __cdecl boost::filesys...
2018-07-10 18:42:58
620
原创 C++常用代码(二),C++递归遍历文件夹建立树结构
https://blog.youkuaiyun.com/zhangziyou719/article/details/52627814https://blog.youkuaiyun.com/zhangziyou719/article/details/52713807https://blog.youkuaiyun.com/zhangziyou719/article/details/52825746
2018-07-05 14:52:41
969
原创 Qt4学习笔记(十 二),Qt中如何编写插件,加载插件和卸载插件
Qt提供了一个类QPluginLoader来加载静态库和动态库,在Qt中,Qt把动态库和静态库都看成是一个插件,使用QPluginLoader来加载和卸载这些库。由于在开发项目的过程中,要开发一套插件系统,就使用了Qt的这套类库。一 编写插件编写一个Qt的插件需要以下步骤 1.声明一个插件类,2.定义一个类,实现这个插件类定义的接口,定义的这个类必须从QObject集成下来。3.使用Q_INTER...
2018-06-27 16:22:06
1224
1
原创 Qt4学习笔记(十 一),Qt 捕捉窗口关闭事件与信号的捕捉
有时候我们希望在关闭窗口之前做一些操作,例如保存缓存数据或向用户提示是否关闭窗口等等。由于一般的窗口都是继承自QWidget, 那么我们可以通过覆盖QWidget中的虚函数closeEvent(QCloseEvent* event);来达到这个目的。(1)首先添加依赖库:[cpp] view plain copy#include <QCloseEvent> (2)接着声明和定义clo...
2018-06-25 11:00:14
4195
原创 Qt4学习笔记(十),Qt程序中引入自定义窗口部件的三种方法
#include <QtGui/QApplication>#include <QWidget>//自定义ui文件生成的头文件#include "ui_findfileform.h"//第一种直接使用的方法int main(int argc, char *argv[]){ QApplication a(argc, argv); QWidget *pWid...
2018-05-31 16:31:05
1113
原创 C++常用代码(一),int,string等常见类型转换
#ifndef GBK_H_#define GBK_H_#include <QString>#include <QTextCodec>#include <string>#include <iostream>#include <sstream>using std::string;class GBK{public:...
2018-05-29 15:16:05
336
原创 C++ Boost.asio学习笔记(一),定时器
#include <iostream>#include <boost/asio.hpp>#include <boost/date_time/posix_time/posix_time.hpp>using namespace std;//asio同步定时器int main(){ //所有使用asio的程序都要创建一个io_service对象,这个...
2018-05-28 16:06:53
1472
原创 C++ Boost 多线程(九),生产者和消费者问题
#include <iostream>#include <boost/thread.hpp>using namespace std;class Account{public: Account() :balance() { } Account(const double &bal) :balance(bal) { } doub...
2018-05-27 17:01:33
776
原创 C++ Boost 多线程(八),条件变量
#include <iostream>#include <boost/thread.hpp>using namespace std;//关联多个线程的条件变量boost::condition_variable cond;//保护共享资源的互斥体boost::mutex mutex;//共享资源kint k=0;void func1(const int...
2018-05-27 16:39:24
798
原创 C++ Boost 多线程(七),线程的方法只执行一次
#include <iostream>#include <boost/thread.hpp>using namespace std;//让方法只执行一次的标志boost::once_flag once = BOOST_ONCE_INIT;void func1(){ cout<<"will be called but one time"<...
2018-05-27 15:22:02
1335
1
原创 C++ Boost 多线程(六),线程的同步
#include <iostream>#include <boost/thread.hpp>using namespace std;boost::mutex mutex;void func1(int id){ mutex.lock(); cout<<"thread #"<<id<<endl; for (int i=1...
2018-05-27 15:04:48
509
原创 C++ Boost 多线程(五),线程的死锁
#include <iostream>#include <boost/thread.hpp>using namespace std;boost::mutex mutex;void func1(){ mutex.lock(); cout<<"call func1()..."<<endl; mutex.unlock();}vo...
2018-05-27 14:58:30
827
原创 C++ Boost 多线程(四),线程组
#include <iostream>#include <boost/thread.hpp>using namespace std;void func1(){ cout<<"call func1()..."<<endl;}void func2(){ cout<<"call func2()..."&l
2018-05-27 14:47:21
1214
原创 C++ Boost 多线程(三),线程的中断
#include <iostream>#include <boost/thread.hpp>using namespace std;void func1(const int &id){ cout<<"thread #"<<id<<" start..."<<endl; //
2018-05-27 10:35:11
2652
原创 C++ Boost 多线程(二),线程的参数传递
#include <iostream>#include <boost/thread.hpp>using namespace std;void func1(const int &id){ cout<<"func1 id : "<<id<<endl;}void func2(const int &id)
2018-05-27 09:44:25
4574
原创 C++ Boost 多线程(一),线程的创建
#include <iostream>#include <boost/thread.hpp>using namespace std;void func(){ cout<<"Hello World"<<endl;}//线程的创建int main(){ boost::thread t1(func); t1.join();//...
2018-05-27 09:27:46
3381
原创 Qt4学习笔记(九),QMainWindow中的布局管理
给QWidget或者QDialog设置布局的时候方式很简单。创建好一个布局:mainLayout,然后不停地把各个控件往mainLayout里面放,最后调用setLayout(mainLayout)就行了。QMainWindow中使用这个方法的时候却不管用,因为QMainWindow是默认有layout的,所以再次设置layout会失效。会出现这种提示:QWidget::setLayout: At...
2018-05-21 14:59:04
1793
原创 Qt4学习笔记(八),QMessageBox对话框
#ifndef CBUILTINDLG_H#define CBUILTINDLG_H#include <QDialog>class QTextEdit;class QPushButton;class CBuiltinDlg : public QDialog{ Q_OBJECTpublic: CBuiltinDlg(QWidget *parent=0); vi...
2018-05-20 17:28:38
1016
原创 Qt4学习笔记(七),QMessageBox对话框
#include <QtGui/QApplication>#include <QMessageBox>int main(int argc, char *argv[]){ QApplication a(argc, argv); //关于消息框 QMessageBox::about(NULL, "this title", "this QMess...
2018-05-20 11:47:14
1219
原创 C++基础学习(十),智能指针
C++智能指针简单剖析:https://www.cnblogs.com/lanxuezaipiao/p/4132096.htmlC++ 智能指针详解:https://blog.youkuaiyun.com/xt_xiaotian/article/details/5714477C++智能指针梳理:https://blog.youkuaiyun.com/shuishanga/article/details/52982102...
2018-05-19 18:24:25
185
原创 C++基础学习(九),类型转换运算符
#include <iostream>using namespace std;class Fish{public: virtual void swim() { cout<<"Fish swims in water"<<endl; } virtual ~Fish(){}};class Tuna : public Fish{pu...
2018-05-19 17:08:07
200
原创 C++基础学习(八),运算符类型和运算符重载
#include <iostream>using namespace std;class Date{public: Date(int year, int month, int day) :m_nYear(year), m_nMonth(month), m_nDay(day) { } Date& operator ++() { ++m_nDay...
2018-05-19 16:35:45
255
原创 C++基础学习(七),多态
#include <iostream>using namespace std;class Fish{public: void swim() { cout<<"Fish swim..."<<endl; }};class Tuna : public Fish{public: void swim() { cout<<...
2018-05-19 11:37:11
220
原创 WIndows和Qt获取exe运行文件的方法
Qt的方法:#include <QApplication>std::string getLogPath(){ //获取exe文件的路径,C:/a/b/DataManager.exe std::string exePath = qApp->applicationFilePath().toStdString(); int i = exePath.rfind("/"); ...
2018-05-17 15:14:09
1043
原创 C++基础学习(六),继承
#include <iostream>#include <string>using namespace std;class Fish{public: void Swim() { if (m_bFreshWaterFish) { cout<<"swims in lake"<<endl; } else { ...
2018-05-16 22:00:11
747
原创 C++基础学习(四),友元函数和友元类
#include <iostream>#include <string>using namespace std;//使用friend关键字让外部函数DisplayAge()能够访问私有数据成员class Humen{public: Humen(string name, int age) :m_strName(name), m_nAge(age) {...
2018-05-16 20:33:19
160
原创 Qt4学习笔记(六),Qt 线程间信号槽传递自定义数据类型(qRegisterMetaType的使用)
#include <QMetaType>CFileDataModel::CFileDataModel(QObject *parent) : QAbstractItemModel(parent){ //初始化根节点 init(); //指针和引用类型的参数都用如下方式注册, //qRegisterMetaType<CFileData>("CFile...
2018-05-15 11:09:05
2970
原创 C++基础学习(三),指针和引用
#include <iostream>#include <string>using namespace std;//C++的const指针用法int main(){ //const修饰指针有三种方式: int x = 12; int y = 34; //1,p1可以指向不同的内存地址,但是不能通过p1修改内存地址所指向的数据 const int *...
2018-05-13 18:37:13
260
原创 C++基础学习(一),常量的定义和使用
#include <iostream>using namespace std;//表示方位的枚举常量enum CardinalDirections{ North = 12, South,//13 East,//14 West//15};//枚举常量测试int main(){ CardinalDirections direct = East; cout&...
2018-05-13 16:33:56
247
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人