c++
Wmll1234567
坚持不可小瞧
展开
-
华为机试-购物单-示例结果有问题,忽略买主件必须买附件这一条件
我的代码通过率:60%(我觉得我的代码已经很清晰了)他这个示例输出明显就有问题:2000 10500 1 0400 4 0300 5 1400 5 1200 5 0500 4 5400 4 0320 2 0410 3 0400 3 5如果7430这个结果正确,那么最后一个主件410*3必须有,剩下6200怎么凑都不符合条件、像是忽略了买附件必须买主件这一条件。#include <stdio.h>#include <vector>#inc..原创 2021-01-26 19:52:27 · 384 阅读 · 0 评论 -
[C++]vector的erase()方法遍历删除某些元素迭代器失效问题、及删除最后一个元素迭代器失效问题)
1.vector迭代器失效问题什么情况下会失效?以及失效的原因vector是个连续内存存储的容器,如果vector容器的中间某个元素被删除或从中间插入一个元素, 有可能导致内存空间不够用而重新分配一块大的内存造成失效的其中一原因: 是因为内存的重新分配, 保留下来的迭代器不再指向容器中原来的元素还有一种是删除元素,迭代器指向的空间自然就是一个无效的地址,无法再使用使得vector迭代器失效的操作有:(1)执行erase方法时,指向删除节点及其之后的全部迭代器均失...原创 2021-01-12 21:12:58 · 3085 阅读 · 1 评论 -
C++学习总结积累——(探索容器、及迭代器失效场景和原因)STL解析和应用
0.什么是STL?C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。C++ 标准模板库的核心包括以下三个组件:组件 描述 容器(Containers) 容器是用来管理某一类对象的集合。C++ 提供了各种不同类型的容器,比如 deque、list、vector、map 等。 算法(Algorithms) 算法作用于容器。它们提供了执行各种操作的方式,包括原创 2020-12-30 13:53:43 · 531 阅读 · 0 评论 -
C语言——文件操作集合(格式化写文件、将文件内容读到buff、文件文件夹存在否、fopen和open区别等)
0.头文件#include <stdio.h>1.打开文件FILE *fopen(char *filename, char *mode);filename为文件名(包括文件路径),mode为打开方式,它们都是字符串FILE 是 <stdio.h> 头文件中的一个结构体,它专门用来保存文件信息 控制读写...原创 2020-12-26 18:08:42 · 760 阅读 · 2 评论 -
C/C++学习总结积累(超详细)——C提高:预处理(include、define、可变宏参)、编译、汇编、链接
1.预处理的基本概念C语言对源程序处理的四个步骤:预处理、编译、汇编、链接,最终形成可执行的目标程序(二进制)预处理是在程序源代码被编译之前,由预处理器(Preprocessor)对程序源代码进行的处理。这个过程并不对程序的源代码语法进行解析,但它会把源代码分割或处理成为特定的符号为下一步的编译做准备工作2.#include<> 和 #include“ ” 区别3.宏,什么是宏?宏有什么应用?...原创 2020-11-16 09:34:16 · 681 阅读 · 0 评论 -
函数指针 、指针函数、回调函数应用举例
目录0.首先有几点是必须要知道的1.函数指针2.指针函数3.回调函数(其实就回调函数是函数指针的一种用法)应用举例:结果演示:0.首先有几点是必须要知道的1.[]与变量结合的优先级高于*、*优先和声明类型结合(在没有括号的情况下)2.理清楚复杂短句,找到“本质”3.时刻牢记指针就是地址中文语言的特性:形容词在前,名词在后故而:函数指针:本质就是指针:指向函数的指针 指针函数:本质就是函数:本质是一个函数,而该函数的返回值是一...原创 2020-09-27 16:05:49 · 232 阅读 · 1 评论 -
c/c++字符串处理函数解析: 拷贝(strcpy/memcpy/strncpy),裁剪(split),拼接(strcat),类型转换(atoi/itoa/atof/atol),字符串格式化输出等
c语言的字符串库函数,在string.h头文件中1.拷贝函数strcpy、memcpy、strncpystrcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。 怎么才算字符串?字符串和字符数组区别? 字符串的结尾是默认有一个\0作为结束符的。字符数组你不给他手动赋值,他是没有的。如果用strcpy这个拷贝函数,就要小心自己的输入参数是不是一个字符串,如果是字符数组,一定不要忘记结尾处赋值\0,不然的话就会溢出了,可以手动试...原创 2020-09-25 16:08:18 · 4169 阅读 · 0 评论 -
C/C++基础概念、代码应用实例超详细总结——(三大特性,静态成员,友元、模板、标准库、STL、设计模式)
1.c++面向对象如何理解?与面向过程有何不同? 要理解面向对象,必须先理解面向过程,因为面向对象就是为了解决面向过程编程的一些繁杂和缺点(比如代码量大时容易命名冲突,代码重复等);这里推荐https://www.zhihu.com/question/27468564 以下个人理解,有误请指出: 简言概括就是将 现实一类事物高度抽象化,将其抽象为一个有内容(数据)和动作(函数方法)的“活物”,我们无需亲力亲为去做一件事,而是让这个活物去做。不使用这个活...原创 2020-09-23 18:09:27 · 1823 阅读 · 0 评论 -
typedef 和#define有什么区别?
原创 2019-02-24 20:52:22 · 374 阅读 · 0 评论 -
详细解释如何计算一个结构体的大小?
其他:1.数组下标可为负:a[-1] 相当于 a+(-1);2.联合体大小就是成员中最大类型的大小;如何计算一个结构体的大小? 例如:struct Test{int Num;char *name;//指针大小取决于编译器的位数 ,64位 为:8字节 32位为:4字节short date;char ch;}*p;总结计算大小规则:...原创 2019-02-18 21:39:50 · 1918 阅读 · 0 评论 -
C++primer第三版答案解析---2.1及2.2为什么内置数据类型不支持数组之间的赋值?支持这种操作需要什么信息?
问题一解答: 不允许做++等赋值工作,数组大小的固定的,数组名代表首元素地址,是常量值,自身不可以被改变数组名+1是可以的,因为没有改变数组,自加改变了数组问题二解答: 数组没有记录数组本身的长度信息,如果要支持这种操作,必须给出数组的长度。 ...原创 2018-08-09 14:02:45 · 277 阅读 · 0 评论 -
getline_函数解析(在c和c++中的区别)
EOF是C语言中为了区分有效数据和输入结束符的。C语言采用的解决办法是:在没有输入时getchar函数将返回一个特殊值,这个特殊值与任何实际字符都不同。这个值成为EOF(end of file ,文件结束)。我们在声明变量c 的时候,必须让它大到足以存放getchar函数返回的任何值。之所以不把c声明成char类型,是因为它必须足够大,除了能存储任何可能的字符外还要能存储文件结束符EOF。...原创 2018-08-31 11:52:45 · 389 阅读 · 0 评论 -
c++primer 第五版答案-第一章
第一章特全的相关博客:https://blog.csdn.net/qq_37653144/article/details/786748191.9,1.10#include<iostream>using namespace std;int main(){// int v1 = 4,v2 = 6;// cout<<"the sum of"<<v...原创 2018-09-02 15:51:36 · 436 阅读 · 0 评论 -
c++primer——第五版——第二章习题解析
2.1:int: 2字节(现在的编译器大多和long一样的尺寸,具体可以用sizeof()关键字求得其长度)long:4字节long long :8字节short:2字节无符号:只能表示大于0的数值有符号:可以表示负数,0,正数float & double:(执行浮点数最好用double.事实上,对于某些机器来说,双精度运算甚至比单精度快)2.2:利...原创 2020-08-14 16:53:22 · 156 阅读 · 0 评论 -
c++primer——第五版——第二章——学习笔记
long和int一般有一样的尺寸,如果你的数字式超过了int的表示范围,选用long long 注意char在不同编译器类型了可能不同,有时有符号,有时候默认无符号 执行浮点数最好用double.事实上,对于某些机器来说,双精度运算甚至比单精度快。 long double提供的精度在一般情况下是没有必要的,况且他的运行时耗也不容忽视 bool:非零即真() bool ...原创 2020-08-14 16:52:58 · 168 阅读 · 0 评论 -
QT5.11.1学习笔记(一)
学习网站:https://www.cnblogs.com/jingliming/如何创建一个自己的子窗口?#include <qapplication.h>#include <qpushbutton.h>#include<qmainwindow.h>#include <qfont.h>class MyWidget : pu...原创 2020-08-14 16:52:27 · 173 阅读 · 0 评论 -
c++primer——第五版——第6章——学习笔记
c++primer——第五版——第6章——学习笔记1.return 完成两项工作:1,返回return语句中的值,2.将控制权转移回主调函数2,局部对象局部变量:形参和函数体内部定义的变量;局部变量的生命周期依赖于定义他的方式自动对象:只存在于块执行期间的对象称为自动对象 :例如:形参局部静态对象:内置类型的局部静态变量初始化为0;3.函数声明 也称作函数...原创 2020-08-14 16:55:00 · 160 阅读 · 0 评论 -
C++Primer第三版练习题答案-----------------2.3和2.4
分析:a定义了一个int型变量,并赋予了初值1024,内存分配属于静态分配 b定义了一个名叫pi的int型指针,静态开辟了一个空间,pi存放的是整形变量ival的地址 c用new分配了一个int型的对象,并给他赋初值为1024,pi2存放的是其存放1024的地址 d用new分配了一个int型的数组,数组元素个数有10...原创 2018-08-09 17:12:14 · 1006 阅读 · 0 评论