C++ 编程基础
C++ 编程基础
SongYuLong的博客
学无止境
展开
-
QT动态库DLL创建及使用
QT动态库DLL创建及使用 创建DLL动态库引用DLL动态库:创建DLL动态库QT Creator 新建项目选择Library=>C++Library填写新建项目名称,本例“DllDemo”定义项目细节:Type:Shared Library (动态库类型)项目文件结构:dlldemo.h 头文件新增max(), min()函数声明#ifndef DLLDEMO_H#define DLLDEMO_H#include "DllDemo_global.h"class D原创 2021-09-15 17:59:26 · 1766 阅读 · 0 评论 -
C++ chrono
Time librarychrono is the name of a header, but also of a sub-namespace: All the elements in this header (except for the common_type specializations) are not defined directly under the std namespace ...原创 2018-05-18 11:39:06 · 360 阅读 · 0 评论 -
C++ 多线程编程原子操作atomic
atomic_flagstd::atomic_flag lock = ATOMIC_FLAG_INIT;while(lock.test_and_set()){}....lock.clear();#include <iostream>#include <thread>#include <atomic>#include <ctime&g...原创 2018-05-17 21:21:25 · 591 阅读 · 0 评论 -
C++ 多线程编程mutex
Mutexes:mutexrecursive_mutextimed_mutexrecursive_timed_mutexLocks:lock_guardunique_lockOther types:once_flagadopt_lock_tdefer_lock_ttry_to_lock_tFunctions:try_locklockcall_oncem...原创 2018-05-18 11:33:12 · 689 阅读 · 0 评论 -
C++ 多线程编程 condition_variable
condition_variablewaitwait_forwait_unitlnotify_onenotify_all// condition_variable example#include <iostream> // std::cout#include <thread> // std::thread#in...原创 2018-05-18 10:02:51 · 375 阅读 · 0 评论 -
C++ 多线程编程thread
c++ reference编译命令:g++ -std=c++11 thread.cpp -o thread -lpthread头文件:#include <thread>Thread class:Member types:id //Thread id (public member type )native_handle_type //N...原创 2018-05-17 19:34:18 · 515 阅读 · 0 评论 -
C++标准库文件
标准库组织//容器&lt;vector&gt; T的一维数组&lt;list&gt; T的双向链表&lt;deque&gt; T的双端队表&lt;queue&gt; T的队列&lt;stack&gt; T的堆栈&lt;map&gt; T的关联数组原创 2018-04-27 20:29:08 · 1241 阅读 · 0 评论 -
C++ ctime
FunctionsTime manipulationclockClock program (function )difftimeReturn difference between two times (function )mktimeConvert tm structure to time_t (function )timeGet current time (function )...原创 2018-05-18 11:40:10 · 1112 阅读 · 0 评论 -
UTF-8 字符编码长度计算
//utf8字符长度1-6,可以根据每个字符第一个字节判断整个字符长度://0xxxxxxx {0x00 ~ 0x7F ASCII 占1个字节}//110xxxxx 10xxxxxx {0xC0 ~ 0xDF UTF-8 占2个字节}//1110xxxx 10xxxxxx 10xxxxxx原创 2022-01-04 16:52:46 · 5615 阅读 · 0 评论 -
QT简单实例计算圆的面积
注意:本文部分或全部内容摘自《Qt5开发及实例 陆文周 主编》dialog.h#ifndef DIALOG_H#define DIALOG_H#include <QDialog>#include <QLabel>#include <QPushButton>#include <QLineEdit>#include <QWidget>#include <QSerialPort>#include <QSerialP原创 2020-10-21 16:53:24 · 609 阅读 · 0 评论 -
Linux cmake使用笔记
CMake:All problems in computer science can be solved by another level of indirection. cmake会根据cmake-language编写的 CMakeLists.txt 或.cmake后缀文件编译自动生成MakefileCMake使用流程:在 linux 平台下使用 CMake 生成 Makefile...原创 2018-09-06 12:01:16 · 835 阅读 · 0 评论 -
C++ csignal
SIGABRT (Signal Abort) Abnormal termination, such as is initiated by the abort function.SIGFPE (Signal Floating-Point Exception) Erroneous arithmetic operation, such as zero divide or an operation r...原创 2018-09-03 21:16:13 · 437 阅读 · 0 评论 -
C++ cstring
FunctionsCopying:memcpy Copy block of memory (function )memmove Move block of memory (function )strcpy Copy string (function )strncpy Copy characters from string (function )...原创 2018-09-03 21:15:22 · 523 阅读 · 0 评论 -
C++ cassert, cctype
#include <iostream>#include <cassert>#include <cstdio>void print_number(int *M){ assert (M != NULL); printf("%d\n", *M); printf("======\n");}int main(){ int ...原创 2018-09-03 20:57:14 · 1199 阅读 · 0 评论 -
C++ 代码检查工具
Cppcheck :http://cppcheck.sourceforge.net/Clang Static Analyzer https://clang-analyzer.llvm.org / sudo apt install clangcppcheck main.c输出:Checking main.c...[main.c:15]: (error) Common reallo...原创 2018-09-03 15:27:34 · 2537 阅读 · 0 评论 -
C++ 头文件
Reference Standard C++ Library referenceC Library:C LibraryThe elements of the C language library are also included as a subset of the C++ Standard library. These cover many aspects, from ge...原创 2018-09-03 10:55:47 · 408 阅读 · 0 评论 -
C++ 第2章 程序控制结构
选择控制1.if语句1.if语句if (表达式) 语句;2.if-else语句if (表达式) 语句1;else 语句2;3.if 语句嵌套if (表达式1) 语句1;else if (表达式2) 语句2;else if (表达式3) 语句3;...... else 语句n; 2.switch语句...原创 2018-04-07 20:49:23 · 206 阅读 · 0 评论 -
C++ 第3章 函数
函数定义类型 函数名 ([类型 参数1,类型 参数2,... 类型 参数n]){ 语句序列;}void printmsg(){ cout << "Hello"<<endl;}double max(double x, double y){ if (x > y) return x; else ...原创 2018-04-07 20:59:40 · 820 阅读 · 0 评论 -
C++ 第4章 数组
4.1 一维数组数组是由一定数目的同类元素顺序排列而成的结构类型数据。在计算机中,一个数组在内存中占有一片连续存储区域,C++的数组名就是这块存储空间的地址。数组的每个元素都用下标变量标识。数组要求先定义后使用。4.1.1一维数组定义与初始化 类型 标识符 [表达式]; “标识符”是用户定义的数组名;“[]”是数组类型符,用于说明”标识符”的类型;”类型”说明数组元素的类型,可以是系...原创 2018-04-08 16:10:09 · 333 阅读 · 0 评论 -
C++ 第5章 集合与结构
5.1 位运算 运算符 说明 & 按位与 I 按位或 ^ 按位异或 << 左移 >> 右移 ~ 按位取反 &= 按位与赋值 I= 按位或赋值 ^= 接位异或赋值 <<= 按位左称赋值 >>=...原创 2018-04-08 19:01:57 · 844 阅读 · 0 评论 -
C++ 第6章 类与对象
类与对象类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础。6.1 类和对象的定义与访问类是在结构的基础上发展而来的。数组、结构描述了对基本数据类型的组识。在过程化程序设计中,程序的基本单位是函数。在面向对象的程序设计中,程序的基本单位是类。 6.1.1 定义类和对象 具有相同性质和功能的东西构成的集合,通常归...原创 2018-04-08 19:02:32 · 740 阅读 · 0 评论 -
C++ 第7章 运算符重载
7.1 运算符重载规则7.1.1 重载运算符的限制 可重载运算符:+ - * / % ^ & | ~! = < > += -+ *= /= %=^= &= |= << >> >>= <<= == !=<= >= && || ++ -- ->* ,原创 2018-04-08 19:03:07 · 942 阅读 · 0 评论 -
C++ 第8章 继承
继承(Inheritance)是面向对象程序设计中软件重用的关键技术。8.1 类之间的关系一个大的应用程序,通常由多个类构成,类与类之间互相协同工作。class Vehicle{ int wheels; double weight; double loading;public: void initialize(int in_wheels, d...原创 2018-04-08 19:03:46 · 352 阅读 · 0 评论 -
C++ 第9章 虚函数与多态性
9.1 静态联编联编是指一个程序模块,代码之间互相关联的过程。根据联编的时机,可以分为静态联编和动态联编。重载函数要根类型,参数进行匹配,一般在编译阶段进行静态联编。 (1)在一个类说明中重载:class X{ Show(int, char); Show(double, char *);};(2)基类的成员函数在派生类中重载:class X{ ...原创 2018-04-08 19:04:27 · 374 阅读 · 0 评论 -
C++ 第10章 模板
模板模板把函数或类要处理的数据类型参数化,表现为参数的多态性。在面向对象技术中,这种机制称为类属。 模板用于表达逻辑结构相同但具体数据元素类型不同的数据对象的通用行为。模板是开发大型软件,建立通用函数库和类库的一个强有力的工具。10.1 什么是模板C++的模板提供了对逻辑结构相同的数据对象通用行为的定义。这些模板运算对象的类型不是实际的数据类型,而是一种参数化的类型(以称为类属类...原创 2018-04-08 19:04:56 · 379 阅读 · 0 评论 -
C++ 第11章 输入流/输出流
待续。。。原创 2018-04-08 19:05:44 · 224 阅读 · 0 评论 -
C++ 第12章 异常处理
待续。。。原创 2018-04-08 19:06:39 · 378 阅读 · 0 评论 -
C++ Array
#include <iostream>#include <array>int main(int argc, char **argv){ std::array<int, 100> intArray; std::array<int, 100> array2; std::cout<< "size of:"<..原创 2018-09-04 11:22:43 · 447 阅读 · 0 评论 -
C++ list
list::emplace// list::emplace#include <iostream>#include <list>int main (){ std::list< std::pair<int,char> > mylist; mylist.emplace ( mylist.begin(), 100, 'x' ); ...原创 2018-09-04 19:16:04 · 261 阅读 · 0 评论 -
C++ 多线程,get_id, , sleep_for
#include <iostream> // std::cout, std::endl;#include <cstdlib> #include <cmath> #include <csignal>#include <thread> // std::this_thread::sleep_for#include &l...原创 2018-09-03 10:41:29 · 1951 阅读 · 0 评论 -
C++ 第1章 基本数据与表达式
C++语言源于C语言。C语言诞生于20世纪70年代,最初设计的目的是编写操作系统。 C++语言以函数为程序运行的基本单位,函数的一般形式: 类型 函数名 (参数表){ 语句序列; }基本头文件:#include <iostream> 使用名字空间,std标准库using namespace std;cin(标准输入)cout (标准...原创 2018-04-07 20:25:29 · 270 阅读 · 0 评论