
C/C++
别打名名
学无止境,贵在坚持。
展开
-
CMake---优雅地构建软件项目实践(1)
本文属于原创,转载注明出处,欢迎关注微信小程序小白AI博客 微信公众号小白AI或者网站 https://xiaobaiai.net 或者我的优快云 http://blog.youkuaiyun.com/freeape[TOC]首先说明的是本篇文章不从cmake的整个语法上去讲述,而是从一个实际项目的构建上入手,去了解如何优雅的去构建一个软件项目,搭建一个C/C++软件项目基本的依赖组件,最后形成一个构...原创 2020-03-19 18:57:21 · 1792 阅读 · 1 评论 -
C---仓储管理系统实现(嵌套链表or二维链表)
实现要求和环境语言和环境C语言实现windows系统VS201x实现目标商品管理:包括商品的添加,删除,更改,查看入库管理:仓库管理员录入入库商品出库管理:仓库管理员录入出库信息统计库存信息:要求能够查询库存信息,入库和出库信息,每件商品要保证入库加库存等于出库 部分实现DOC界面仓储管理系统首页 商品管理界面商品添加商品列表库存列表代码实现main.cpp//-原创 2015-11-13 20:26:43 · 4129 阅读 · 1 评论 -
重学C++Primer笔记10---容器常用用法总结与归纳
1 顺序容器 注意点:指定元素个数的容器初始化只适用于顺序容器。如形式为C c(n,t)或C c(n)这两种形式的初始化。直接将一个容器复制给另一个容器时,类型必须匹配:容器类型和元素类型都必须相同,如vector ivec2(ivec1);。使用迭代器时,不要求容器类型相同,容器内的元素类型也可以不相同,只要相互兼容,能够将要复制的元素转换为所构建的形容器的元素类型,即可实现复制,如lis原创 2015-10-14 12:40:22 · 1267 阅读 · 0 评论 -
C++---Apriori算法实现,频繁模式数据挖掘,最大频繁项集,闭频繁项集
只能说用这个Apriori算法来练练容器的操作以及文件流的操作。这两个变得熟练了。两个小测试数据集第一组测试数据第一组:AA BB EEBB DDBB CCAA BB DDAA CCBB CCAA CCAA BB CC EEAA BB CC频繁项集:最大频繁项集 闭频繁项集无闭频繁项集 第二组测试数据第二组AA BB CCAA BB CC DDBB CC EEA原创 2015-11-01 21:19:50 · 4997 阅读 · 0 评论 -
重学C++Primer笔记11---类的四个合成和MyString类的实现
合成即默认,由编译器自动生成并隐式调用。构造、复制构造、析构、赋值操作符分别对对象的初始化、复制、撤销、赋值进行操作。理解这些概念稍微要花点时间,但是理解了还要不断的实践,才能够得心应手,信手拈来。1 合成构造函数 构造函数的一般特性:构造函数的名字与类的名字相同,且不能指定返回类型构造函数可以重载,即形参表可以多样因为构造函数是用来初始化变量,所以const构造函数是不可行的构造函数的初原创 2015-12-03 20:01:17 · 1169 阅读 · 0 评论 -
C/C++---static函数,static成员函数,static变量,static成员变量 再来理一理
首先说一下内存的五个区:栈(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值(除static),其操作方式类似于数据结构中的栈。 堆(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆(优先队列)是两回事,分配方式倒是类似于链表。全局区(静态区):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始原创 2016-03-25 14:23:21 · 36681 阅读 · 1 评论 -
C++---联合体(union)的一些测试
大小端模式 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放; 小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。测试原创 2016-04-13 11:21:33 · 1450 阅读 · 0 评论 -
"undefined reference to strptime"之自定义strptime函数
简介 strptime()函数能够按照特定时间格式将字符串转换为时间类型。简单点说可以将字符串时间转化为时间戳。这个函数包含在time.h头文件中,在Unix或者类Unix系统中,我们会经常接触到。但是到了跑Nuttx系统的Pixhawk,真是醉了,很多东西都没有,或者少了很多东西,比如time.h中就没有这个函数的实现,又如dirent.h中的一些文件类型的宏定义也没有了。但是我们很需要,比如在原创 2015-07-29 19:54:29 · 3408 阅读 · 0 评论 -
C++---前向声明应用注意
在设计模式中,简单工厂模式中一个是Product类(产品类),一个是ProductManager类(工厂类),而两个类互相引用了,形成了环形引用,而前向声明可以解决这个问题,但是在应用前向声明的时候需要注意一点就是,声明仅仅是声明,并没有实现,因此不能调用声明的变量的方法或者实现该类。举例如下:去掉注释就是正确的前向声明,没有去掉注释就是错误的前向声明应用编译g++ main.cpp product原创 2017-01-04 22:58:58 · 1344 阅读 · 0 评论 -
C/C++---C and CXX compiler with c or cpp in struct
C/C++中结构体初始化方法#include <stdio.h>enum SIZE { SIZE_ONE = 1, SIZE_TWO = 2, SIZE_THREE = 3};struct DATA{ int data1; char data2; enum SIZE size;};struct STR原创 2017-01-05 22:23:43 · 1066 阅读 · 0 评论 -
重学C++Primer笔记9---回调函数与函数指针的应用
1 函数指针—指向函数的指针 函数指针是指向函数而非对象的指针。像其他指针一样,函数指针也指向某个特定的类型,函数类型由其返回类型以及形参表确定,而与函数名无关。例如:bool (*pf)(const string &,const string &); 将pf声明为指向函数的指针,带有两个const string&类型的形参和bool类型的返回值。 注意: *pf两侧的圆括号是必须的。2原创 2015-10-14 13:35:19 · 2061 阅读 · 0 评论 -
C/C++测试---判断输入的年月日是否合法
提示用户分别输入年月日,判断日期是否合法。程序代码实现如下://-------------------------------------------------------------------//文件名: test.cpp //作 者: yicm//日 期: 2015-9-23//描 述: 提示用户分别输入年月日,判断日期是否合法//版 本: //------------原创 2015-09-23 16:49:26 · 15875 阅读 · 5 评论 -
重学C++Primer笔记7---标准IO库中输入输出流控制
1 IO标准库 IO类型在三个头文件中定义:iostream定义读写控制窗口的类型;fstream定义读写已命名文件的类型;sstream定义的类型则用于读写存储在内存中的string对象。 当然还有对国际字符的支持的标准库:wiostream,wfstream,wstringstream。 使用IO标准库时,要注意:标准库类型不允许做复制或赋值操作;如下面的操作就是错误的: ofst原创 2015-09-30 10:56:20 · 1321 阅读 · 0 评论 -
重学C++Primer笔记5---一些基本语法需要特别注意的地方
对于熟练C或者C++的人来说,熟读和熟记并理解下面的内容是有很大的帮助的,要在实践中好好去体会和实现下面的要点。以此作为笔记,不厌其烦的去理解,好好学习。内置类型的存储空间依机器而定,当规定了每个算术类型的最小存储空间字符串字面值区分宽字符串是以宽空字符结束的使用了未定义行为的程序都是错误的,即时程序能够运行,也只是巧合。(提示:反斜杠)变量的初始化形式包括:复制初始化(等号)和直接初始化(原创 2015-09-18 21:39:29 · 1306 阅读 · 1 评论 -
重学C++Primer笔记1---从main函数说起之argc,argv,%ERRORLEVEL%
argc,argv: 传递进主函数main的参数,int main(int argc,char argv[]){return 0;}或者int main(int argc,char * argv){return 0;}。argc表示传进main函数的参数个数,而argv是传进main函数中的字符串数组的指针。argv[0]为可执行文件的程序名,argv[1]为命令行下输入的第一个参数,依次类推ar原创 2015-09-16 10:34:11 · 1296 阅读 · 0 评论 -
重学C++Primer笔记2---输入/输出 操作符 左操作数 右操作数 深入理解
IO对象:通过标准库定义的4个IO对象,来实现与输入输出设备(键盘、显示器等)的交互。标准输入对象:cin标准输出对象:cout标准错误对象:cerr,无缓冲输出标准错误对象:clog,有缓冲输出特殊操纵符:endlendl。通过将特殊操作符endl写入输出流时,具有输出换行的效果,并刷新与设备相关联的缓冲区(buffer)。通过刷新缓冲区,用户可以立即看到写入到流中的输出。注意在程序调试原创 2015-09-18 14:35:58 · 2149 阅读 · 0 评论 -
C---某人岁数的3次方是四位数,4次方是六位数,且知此人岁数的3次方和4次方用遍了0~9十个数字。编写一个程序求此人的岁数
要求如题,C语言实现。#include <stdio.h>#include <math.h>#include <stdlib.h>#include <string.h>//-------------------------------------------------------------------//功能描述:某人岁数的3次方是四位数,4次方是六位数,且知此人岁数的3次方和4次方用遍原创 2015-10-08 16:54:09 · 4137 阅读 · 0 评论 -
C---练习题部分2
//-------------------------------------------------------------------//源文件名: HomeWork2.cpp //作 者: yicm//日创建期: 2015-10-8//修改日期:2015-10-8//描 述: 第二次C++作业//版 本: //--------------------原创 2015-10-08 20:22:00 · 1300 阅读 · 0 评论 -
重学C++Primer笔记3---一开始就要有好的习惯
变量定义与初始化: 定义变量时,应该给变量赋初始值,除非确定将变量用于其他意图之前会覆盖这个初值。如果不能保证读取变量之前重置变量,就应该初始化变量,如对功能函数中的字符数组char str[24] = “”;这样的好处就是将数字的内存清零了,而不是乱糟糟的内容。这对字符处理是很重要的,我们也很容易忽视掉’\0’这个隐含字符。变量函数等命名: 变量命名一般是小写字母。包含多个词的标识符,可以在每原创 2015-09-18 20:36:43 · 1050 阅读 · 0 评论 -
C/C++---printf/cout 从右至左压栈顺序实例详解
1 知识点 __cdecl 是C Declaration的缩写(declaration,声明),表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数不会要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。 压栈顺序跟C语言标准没关系,跟编译器有关系。不过一般的编译器都默认设置为__cdecl 。2原创 2015-10-09 13:46:44 · 3740 阅读 · 5 评论 -
C++---if(!cin)与if(!(cin >> xxx))
!cin,判断上一次的输入是否失败(fail)!(cin >> xxx)判断当前输入是否失败(fail) 对于流操作,都有它的条件状态,如stream.eof()、stream.fail()、stream.bad()、stream.good()。从下面的结果中就可以知道是怎么一回事了。#include <iostream>#include <cstdlib>using namespace st原创 2015-10-10 21:15:18 · 6110 阅读 · 1 评论 -
重学C++Primer笔记6---指针、typedef、const、define彻底理解
一般的 对于有指针的,首先前提是要理解指针中的地址和值的概念。指向const对象的指针(地址可以变,值不可变);const指针(地址不可变,值可以变);指向const对象的const指针(地址和值均不可变); - 指向const对象的指针(指针.常量):允许对ipoint赋值,但不能通过ipoint修改其所指对象的值 const int * ipoit; - const指针(常量.指原创 2015-10-10 21:23:42 · 1180 阅读 · 0 评论 -
C---测试程序1
1 测试功能 将保存在data.txt中文本数据读取出来,然后均除以0XFE,输出数据为精确到小数点后四位的浮点数,并保存到另一文本文件output.txt中。 输入 输出 2 测试代码/* Func: 将保存在data.txt中文本数据读取出来, 然后均除以0XFE,数据为精确到小数点后四位的浮点数。 ,保存到另一文本文件原创 2015-07-18 22:49:02 · 1193 阅读 · 0 评论