
C++
文章平均质量分 52
looklight
这个作者很懒,什么都没留下…
展开
-
C++ int、long、long int、long long、uint64_t字节长度
我们在进行编程时,对于int、long、long long经常使用,但是对于这些类型占用的字节长度可能不会太确定,尤其是在32位平台、64位平台,会有差异,这些知识点为基础知识,容易忽略的基础知识,本文做下分析记录。原创 2023-02-21 15:34:40 · 10655 阅读 · 0 评论 -
C++计算耗时方法(四种方法)
本博客将给出五种在C++中可用于计算算法耗时的方法。原创 2022-07-18 11:36:08 · 4738 阅读 · 2 评论 -
QNetworkConfigurationManager
qt 网络连接 QNetworkConfigurationManager转载 2022-07-05 16:07:23 · 1027 阅读 · 0 评论 -
C++快速上手入门
C++ 快速上手 (一)https://www.cnblogs.com/cosmo89929/archive/2012/12/22/2828745.htmlC++ 快速上手 (二)https://www.cnblogs.com/cosmo89929/archive/2012/12/22/2828774.htmlC++ 快速上手 (三)https://www.cnblogs.com/cosmo89929/archive/2012/12/22/2828786.htmlC++ 教程htt.原创 2021-05-21 14:37:07 · 409 阅读 · 0 评论 -
2020-12-31
数组合并editplay_arrowbrightness_4// C++ program to merge two sorted arrays/ #include<iostream> using namespace std; // Merge arr1[0..n1-1] and arr2[0..n2-1] into // arr3[0..n1+n2-1] void mergeArrays(int arr1[], int arr2[], int n1,原创 2020-12-31 23:54:22 · 108 阅读 · 0 评论 -
2020-12-31
查找第一个没有重复的数组元素一个方法是使用两个循环。外循环一个接一个地选择元素,内循环检查该元素是否多次出现。// Simple CPP program to find first non- // repeating element. #include <bits/stdc++.h> using namespace std; int firstNonRepeating(int arr[], int n) { for (int i = 0; i < .原创 2020-12-31 23:45:02 · 105 阅读 · 0 评论 -
单链表最简单的基础性操作 举例 头插法/尾插法创建表,删除元素
#include <iostream>#include <stdlib.h>using namespace std;typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next;}LNode,*LinkList;void Del_X_1(LinkList &L,ElemType x){//删除带头结点链表的x LNode *p=L->next,*pre=L.原创 2020-10-29 13:08:29 · 246 阅读 · 0 评论 -
error C2361: initialization of ‘rect‘ is skipped by ‘default‘ label
问题:error C2361: initialization of 'rect' is skipped by 'default'label来源:来自实际项目的一段代码,简化形式如下:switch (t){case 0: int a = 0; break;default: break;} 有什么问题吗?似乎没有。请用编译器编译一下…… 嗯?!一个错误“error C2361: initialization of 'a' isskipped by 'de...转载 2020-07-25 20:30:24 · 499 阅读 · 0 评论 -
堆和栈的区别
堆和栈的区别(博客园):http://www.cnblogs.com/jiahuafu/p/8575044.html关于堆栈的讲解(我见过的最经典的):https://blog.youkuaiyun.com/yingms/article/details/53188974堆栈的工作原理:https://blog.youkuaiyun.com/laoqiuge/article/details/53728179...转载 2021-12-31 17:53:34 · 88 阅读 · 0 评论 -
C++Map用法总结
1,map简介map是STL的一个关联容器,它提供一对一的hash。第一个可以称为关键字(key),每个关键字只能在map中出现一次;第二个可能称为该关键字的值(value);map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的实现自建一颗红黑树,这颗树具有对数据自动排序的功能。在map内部所有的数据都是有序的,后边我们会见识到有序的好处。比如一个班级中,每个学生的学号跟他的姓名就存在著一对一转载 2020-07-22 11:42:24 · 1441 阅读 · 0 评论 -
剑指 Offer 11. 旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组[3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0注意:本题与主站 154 题相同:https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array-i...原创 2020-07-22 10:46:52 · 119 阅读 · 0 评论 -
167. 两数之和 II - 输入有序数组 哈希算法 双指针
给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1, ...原创 2020-07-20 21:10:07 · 146 阅读 · 0 评论 -
C/C++堆和栈的区别
堆和栈的区别1.管理方式不同栈,由编译器自动管理,无需程序员手工控制;堆:产生和释放由程序员控制。2.空间大小不同栈的空间有限;堆内存可以达到4G,。3.能否产生碎片不同栈不会产生碎片,因为栈是种先进后出的队列。堆则容易产生碎片,多次的new/delete会造成内存的不连续,从而造成大量的碎片。4.生长方向不同堆的生长方式是向上的,栈是向下的。5.分配方式不同堆是动态分配的。栈可以是静态分配和动...转载 2020-07-17 10:51:50 · 971 阅读 · 0 评论 -
349. 两个数组的交集
给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。通过次数77,339提交次数110,907来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/inters..原创 2020-07-11 12:08:10 · 294 阅读 · 0 评论 -
C++:删除map元素,当value值为指针时,如何释放内存。
C++:删除map元素,当value值为指针时,如何释放内存。2013年09月01日⁄ 综合⁄ 共 252字 ⁄ 字号小中大⁄评论关闭class A { ··· ···};map< string, A* > stoaMap;1)通过迭代器遍历删除map< string,A* >::iterator iter = stoaMap.begin();while(iter != stoaMap.end()) //#1{ //注意要先释放内存,在...转载 2020-07-10 14:59:40 · 3194 阅读 · 0 评论 -
循环遍历 std:map 并删除元素解决方案
循环遍历 std::map 并删除元素C/C++ codeint main(int argc, char* argv[]){ map<string, string> mapData; mapData["a"] = "aaa"; mapData["b"] = "bbb"; mapData["c"] = "ccc"; for (map<string, string>::iterator i=mapData.begin(转载 2020-07-10 14:54:54 · 2930 阅读 · 0 评论 -
结构化程序设计的不足 面向对象的程序设计
➢结构化程序设计没有“封装”和“隐藏”的概念。 要访问某个数据结构中的某个变量,就可以直接访问,那么当该变量的定义有改动的时候,就要把所有访问该变量的语句找出来修改,十分不利于程序的维护、扩充。➢难以查错,当某个数据结构的值不正确时,难以找出到底是那个函数导致的。➢重用:在编写某个程序时,发现其需要的某项功能,在现有的某个程序里已经有了相同或类似的实现,那么自然希望能够将那部分代码抽取出来,在新程序中使用。➢在结构化程序设计中,随着程序规模的增大,由...原创 2020-07-09 21:35:25 · 1294 阅读 · 0 评论 -
内联函数 函数重载 函数重复定义
C++函数重载函数重复定义两个函数名 相同 参数列表相同,但返回值不同函数的缺省参数原创 2020-07-09 09:37:23 · 534 阅读 · 0 评论 -
动态内存分配
ps:这个只是为了记录一下,原创 2020-07-09 09:21:30 · 161 阅读 · 0 评论 -
定义常量指针 定义常引用
因为在C语言函数中:strcpy()第一个参数类型是char*原型声明:char *strcpy(char* dest, const char *src);头文件:#include <string.h> 和 #include <stdio.h>功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。/...原创 2020-07-09 09:03:26 · 451 阅读 · 0 评论 -
POJ1013 称硬币
共12枚硬币。其中有11枚真币和1枚假币。假币和真币重量不同,但不知道假币比真币轻还是重。现在,用一架天平称了这些币三次,告诉你称的结果,请你找出假币并且确定假币是轻是重(数据保证一定能找出来)。输入第一行是测试数据组数。每组数据有三行,每行表示一次称量的结果。银币标号为A-L。每次称量的结果用三个以空格隔开的字符串表示:天平左边放置的硬币 天平右边放置的硬币 平衡状态。其中平衡状态用``up'', ``down'', 或 ``even''表示, 分别为右端高、右端低和平衡。天平左右的硬币数总是相等原创 2020-07-09 08:47:22 · 423 阅读 · 0 评论 -
2997:生理周期 算法
样例输入0 0 0 00 0 0 1005 20 34 3254 5 6 7283 102 23 320203 301 203 40-1 -1 -1 -1 //-1 为输入结束样例输出Case 1: the next triple peak occurs in 21252 days.Case 2: the next triple peak occurs in 21152 days.Case 3: the next triple peak occurs in 19575...原创 2020-07-08 23:42:58 · 625 阅读 · 1 评论 -
237. 删除链表中的节点
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 --head =[4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head = [4,5,1,9], node = 1输出: [4,5,9]解释: 给定你链表中...原创 2020-06-28 17:58:43 · 3358 阅读 · 1 评论 -
Leecode 559. N叉树的最大深度
给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。例如,给定一个3叉树:我们应返回其最大深度,3。说明:树的深度不会超过1000。 树的节点总不会超过5000。通过次数26,185提交次数37,551解析: 想到了两个方法,1、 DFS 递归遍历 2、BFS 层次遍历对于深度优先:/*// Definition for a N...原创 2020-07-06 11:11:25 · 156 阅读 · 0 评论 -
new 在C++中 malloc new
只是针对此题记录,讲解不全面具体可以看下面的https://blog.youkuaiyun.com/nie19940803/article/details/76358673原创 2020-06-27 01:06:00 · 126 阅读 · 0 评论 -
C C++中struct区别 C++中的strut和class区别
C C++中struct区别 C C++ protection行为 无 有,默认是private 能否定义函数 否,但可以有函数指针 可以 C++中的strut和class区别从语法:class和struct做类型定义时只有两点区别:1 默认继承权限。如果不明确指定,来自class的继承-----》private,来自struct 的继承 public2 成员的默认访问权限 class--》private ,struct ----...原创 2020-06-27 00:58:08 · 314 阅读 · 0 评论 -
C/C++有什么不同 C和C++ 的区别
1.从机制上:C是面向过程的,但C也可以编写面向对象的程序 C++是面向对象的,提供了类。但是,C++编写面向对象的程序(以下简称OOP)比C容易。2.从适用的方向/场景: 高效 游戏 金融 C适合要求代码体积小的,效率搞的场合,如嵌入式;C++适合更上层的,复杂的; Linux核心大部分是用C写的,因为他是系统软件,效率要求极高。 从名称上可以看出,C++比C多了+,说明C++是C的超集; qu:为什么不叫C+而...原创 2020-06-27 00:47:48 · 760 阅读 · 0 评论 -
顶层const和底层const
这里节选自C++ primer 第五版的讲述 个人一直糊涂原创 2020-06-23 22:03:26 · 166 阅读 · 0 评论 -
前置递增运算符和后置递增运算符的区别
后置递增运算符先调用当前值,之后对当前值进行递增运算前置递增运算符先进行递增运算,然后返回的是递增之后的值原创 2020-06-22 17:21:49 · 1706 阅读 · 0 评论 -
迭代器运算 迭代器类型
原创 2020-06-20 10:26:43 · 245 阅读 · 0 评论 -
为什么指针不能指向引用
首先 指针定义:指针是“指向” 另外一种类型的符合类型。与引用类似,指针也实现了对其他对象的简介访问。不同点: 指针 是对象 允许对指针赋值和拷贝,而且在指针的生命周期内它可以先后指向几个不同的对象 指针无须在定义时赋初值。 和其他内置类型一样,在块作用域内定义的指针如果没有被初始化,也将拥有一个不确定的值。指针获取对象地址 指针存放某个对象的地址 因为引用不是对象,没有实际...原创 2020-06-16 17:37:28 · 1997 阅读 · 1 评论 -
extern 关键字
C++ 支持分离式编译,C++ 讲声明和定义区分开来。声明 declaration使得名字为程序所知,一个文件如果想使用别处定义的名字则必须包含对那个名字的声明。而定义definition 负责创建与名字关联的实体。 变量声明规定了变量的类型和名字,在这一点上定义与之相同。但是除此之外定义还申请存储空间也可能会为变量赋一个初始值。 如果想声明一个变量而非定义它,就在变量名签添加关键字 extern ,而且不要显式的初始化变量: extern int i; //声明i...原创 2020-06-16 16:34:27 · 239 阅读 · 0 评论 -
C++内存类型的机器实现
计算机以比特序列存储数据,每个比特非0即1,例如: 0ps: 本篇只是为了自己复习下基础,方便自己查看原创 2020-06-15 17:20:11 · 146 阅读 · 0 评论 -
C++如何选择类型
和C语言一样,C++的设计准则之一也是尽可能地接近硬件。C++的算术类型必须满足各种硬件特质,所以它们常常显得繁杂而令人不知所措。事实上,大多数程序员能够(也应该)对数据类型的使用做出限定从而简化选择的过程。以下是选择类型的一些经验准则:●当明确知晓数值不可能为负时,选用无符号类型。●使用int执行整数运算。在实际应用中,short常常显得太小而long-般和int有一样的尺寸。如果你的数值超过了int的表示范围,选用long long。●在算术表达式中不要使用 char或bool,只有在.原创 2020-06-15 17:07:23 · 440 阅读 · 0 评论 -
804. 唯一摩尔斯密码词
国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串,比如: "a" 对应 ".-", "b" 对应 "-...", "c" 对应 "-.-.", 等等。为了方便,所有26个英文字母对应摩尔斯密码表如下:[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-".原创 2020-06-09 15:05:02 · 224 阅读 · 1 评论 -
C ++ 11中的Lambda函数 Lambda Functions in C++11 - the Definitive Guide
λ C ++ 11最令人兴奋的功能之一就是能够创建lambda函数(有时称为闭包)。这是什么意思?lambda函数是可以在源代码中内联编写的函数(通常传递给另一个函数,类似于仿函数或函数指针的概念)。使用lambda,创建快速函数变得更加容易,这意味着您不仅可以在以前需要编写单独的命名函数时开始使用lambda,而且可以开始编写更多依赖于创建功能的代码快速简便的功能。在本文中,我将首先通过一些示例解释lambda为何如此出色,然后再逐步介绍lambda可以做什么的所有细节。Why Lambd...翻译 2020-06-08 14:24:41 · 574 阅读 · 0 评论