
C/C++
C/C++
SSSS的博客
Python C/C++ C# Opencv Halcon STM32
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++类型转换:dynamic_cast (二)
参考:C++类型转换:dynamic_cast(一)dynamic_cast< type* >(e) type必须是一个类类型且必须是一个有效的指针dynamic_cast< type& >(e) type必须是一个类类型且必须是一个左值,也就是说是一个非const修饰的左值dynamic_cast< type&& >(e) type必须是一个类类型且必须是一个右值,不能是左值e的类型必须符合以下三个条...原创 2021-02-28 23:21:28 · 568 阅读 · 0 评论 -
JSON数据格式(键值对)(一)
简介 是一种数据格式,结构为键值对的方式存储和传输,例如 第一个JSON格式 JSON 对象在大括号({})中书写: 对象可以包含多个名称/值对: { "name":"这是一个名字" , "url":"www.runoob.com" } JSON 数组 { "sites": [ { "name":"第一个名字" , "url":"www.diyigemignzi.com" },...原创 2021-02-28 21:40:11 · 8933 阅读 · 0 评论 -
C/C++ 二维数组做为函数参数(char类型)
参考:C/C++指针与二维数组与函数形参(int类型举例)#include<stdio.h>#define M 4 //行#define N 20 //每行长度/* 功能:数据输入方法 参数1:目标数组 参数2:数组长度 返回值:void*/void inPut(char str[][N],int m){ int indexM=0,indexN=0; printf("请输入一个第%d字符串\n",m); for(indexM=0;indexM<m;ind原创 2021-02-28 21:33:51 · 1760 阅读 · 0 评论 -
C/C++ 二维数组做为函数参数(int类型举例)
参考:C/C++指针与二维数组与函数形参(int类型举例)#include<stdio.h>#define M 2#define N 2/* 功能:数据输入方法 参数1:目标数组 参数2:数组长度 返回值:void*///void inPut(int arr[][N],int m,int n)void inPut(int (*arr)[N],int m,int n){ int indexM=0,indexN=0; printf("请输入一个[%d]*[%d]的二原创 2021-02-28 21:29:14 · 759 阅读 · 0 评论 -
C/C++指针与二维数组与函数形参(int类型举例)
通过指针变量指向一个二维 int 类型数组元素:int a[3][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}}; //定义一个数组名为 a 3行5列的整型数组int (*p)[5]; //定义一个变量名为pa的int类型指针变量。这个指针变量指向一个长度为5的数组, //pa + 1 就相当于 &a[0][0] + 5,指向下一行的首地址p=a;printf("**(p+1) =原创 2021-02-28 21:27:07 · 554 阅读 · 0 评论 -
C++ 文件读取 & 写入实例
ofstream 该数据类型表示输出文件流,用于创建文件并向文件写入信息。 ifstream 该数据类型表示输入文件流,用于从文件读取信息。 fstream 该数据类型通常表示文件流,且同时具有 ofstream 和 ifstream 两种功能,这意味着它可以创建文件,向文件写入信息,从文件读取信息。 要在 C++ 中进行文件处理,必须在 C++ 源代码文件中包含头文件 <iostream> 和 <fstream>。#include <...原创 2020-08-08 16:18:25 · 8558 阅读 · 0 评论 -
C++ 实例 - 求两数最小公倍数
闲来无事写两个小程序#include <iostream>using namespace std; int main(){ int n1, n2, max; cout << "输入两个数: "; cin >> n1 >> n2; // 获取最大的数 max = (n1 > n2) ? n1 : n2; do { if (max % n1 == 0 &a原创 2020-08-08 16:11:25 · 1403 阅读 · 0 评论 -
C++ 实例 - 求两数的最大公约数
闲来无事写两个小程序。#include <iostream>using namespace std; int main(){ int n1, n2; cout << "输入两个整数: "; cin >> n1 >> n2; while(n1 != n2) { if(n1 > n2) n1 -= n2; else原创 2020-08-08 16:10:00 · 282 阅读 · 0 评论 -
C++ 实例 - 判断闰年
闲来无事写个小程序。#include <iostream> using namespace std; int main() { int year; cout << "输入年份: "; cin >> year; if (year % 4 == 0) { if (year % 100 == 0) { //这里如果被 400 整数是闰年 if (year % 400 == 0) cout << y原创 2020-08-08 16:06:52 · 1362 阅读 · 2 评论 -
linuxC/C++数组指针和指针数组
一、指针数组/********************************************************* 1.这是一个数组 因此长度为数组长度 2.这个数组存放5个指针 3.这个数组的五个指针都指向 int 类型变量**********************************************************/int *arrInt...原创 2020-02-17 09:42:30 · 507 阅读 · 0 评论 -
linuxC/C++指针函数和函数指针
指向函数的指针int (*pMethod)(int a,int b); 1.这是一个可以指向函数的指针 2.这个函数有两个参数都是 int 类型变量 3.这个函数有一个返回值是 int 类型变量 4.这个函数可以获取一个 int 返回值 且有两个 int 参数的方法入口 也就可以指向这个方法使用:int add(int ...原创 2020-02-11 19:29:38 · 550 阅读 · 0 评论 -
C/C++指针与一维数组与函数形参(char类,型相当于字符串)
通过指针变量指向一个一维数组(字符串 char类型)char a[20]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’}; //定义一个数组名为 a 长度为20 的char类型变量char a[20] = “abcdefg”; //定义一个数组名为 a 长度为20 的char类型变量char a[20] = {“abcd...原创 2020-02-11 15:40:01 · 1277 阅读 · 0 评论 -
C/C++关键字sizeof与数组和指针
char *name = "123456"; printf("sizeof(name) = %d\n",sizeof(name)); //指针 大小 4 printf("strlen(name) = %d\n",strlen(name)); //内容长度为 6 char *name1=""; printf("sizeof(name1) = %d\n",sizeof(name1)...原创 2020-02-10 19:26:59 · 295 阅读 · 0 评论 -
C/C++指针与一维数组与函数形参(int类型)
一个变量有地址,一个数组也有地址,不同的是数组包含若干个元素,也对应的也就包含着若干个地址,并且这些地址是连续的,而且数组名就是这若干个连续地址的第一个地址。一维数组整型类(int)通过指针变量指向一个一维 int 类型数组元素:int a[5]={0,1,2,3,4}; //定义一个数组名为 a 长度为5 的int类型变量int *pa; //定义一...原创 2020-02-09 19:53:13 · 1632 阅读 · 0 评论 -
C++多态和对象的内存布局(四)
续:C++多态和对象的内存布局(一)C++多态和对象的内存布局(二)C++多态和对象的内存布局(三)14. 普通钻石继承程序输出:sizeof(Ba_1) = 12sizeof(Derive_1) = 20sizeof(Derive_2) = 20sizeof(Derive_3) = 48 为什么这么大??Base1内存布局:1> class...原创 2020-02-09 14:20:41 · 390 阅读 · 0 评论 -
C++多态和对象的内存布局(三)
续C++多态和对象的内存布局(一)C++多态和对象的内存布局(二)9. 普通多继承不存在函数覆盖,各自有各自的虚函数程序输出:sizeof(Base_1) = 12sizeof(Base_2) = 12sizeof(Derive_1) = 32 (为什么只有32大小?难道Derive类对象没有虚函数指针???看第十条分析)Base1内存布局:1> cla...原创 2020-02-05 13:15:02 · 439 阅读 · 0 评论 -
C++多态和对象的内存布局(二)
续C++多态和对象的内存布局(一)5. 普通单继承且本身不存在虚函数的继承类的内存布局程序输出:sizeof(Base_1) = 12 (成员属性 + 指向虚函数表的指针)sizeof(Derive_1) = 20 (Base成员属性 + Derive成员属性 + 指向虚函数表的指针)Base内存布局:1> class Base_1size(12)...原创 2020-02-01 18:15:23 · 504 阅读 · 0 评论 -
C++多态和对象的内存布局(一)
首先VS2015配置:在当前工程右键 --> 属性:先选择左侧的C/C++->命令行,然后在其他选项这里写上/d1 reportAllClassLayout,它可以看到所有相关类的内存布局,如果写上/d1 reportSingleClassLayoutXXX(XXX为类名),则只会打出指定类XXX的内存布局。开始进入主题测试类对象内存布局:1. 只有数据...原创 2020-02-01 17:48:17 · 1077 阅读 · 0 评论 -
C++类型转换:dynamic_cast(一)
#include<iostream>#include<string>#include<vector>#include <list>#include <map>#include<iomanip>#include<typeinfo>using namespace std;class A{...原创 2020-01-30 18:08:05 · 341 阅读 · 0 评论 -
C/C++关键字const与class对象
#include<iostream>using namespace std;class Demo{ public: //不论将来会不会使用,但是只要自定义了构造函数 //为了防止会用到无参构造函数,就先把这个定义到这里 Demo(){} Demo(int a,int b) { this->a = a; this->b = b;...原创 2020-01-29 14:23:50 · 933 阅读 · 0 评论 -
C/C++类型转换:reinterpret_cast、const_cast、dynamic_cast、static_cast
先说C语言类型转换,在c语言中,存在两种类型转换,一种是隐式类型转换,另一种是显示类型转换。并且这种转换只允许基类型,也就是如char,short,int,long,float,double ,或者指针),而不允许用于struct,union等类型。如下:int a = 5;double b = a; /* 隐式类型转换,类型相近。 */int *ptr = &...原创 2020-01-28 15:36:46 · 721 阅读 · 0 评论 -
linux多线程C/C++编程互斥锁和条件锁实现生产者和消费者模式
#include <stdio.h>#include <unistd.h>#include <pthread.h> #define CONSUMERS_COUNT 3 #define PRODUCERS_COUNT 1 pthread_mutex_t g_mutex ;/* 互斥锁 */pthread_cond_t g_cond ; /* 条...原创 2019-12-06 23:49:20 · 287 阅读 · 0 评论