C++
青云 --小凡
C++从入门到入土
展开
-
C++multimap的使用
问题描述假如最终需要这种数据结构:从一个文件中我们可以读出每个h和w,现在需要获取每个h对应的所有w,形如这样的结构,h1w1/w2 h2w2/w3。思路首先需要读出文件所有的h和w,那么可以使用map去存,但是一个h可能对应着这多个w,所以需要可以存储重复键值的map,即multimap。然后对每组multimap中的元素遍历,最终的键是不能重复的,所有每处理一组的key,都要放在set中,然后每组value也是不能重复的,去过不进行处理,会出现重复读,即h1*w1/w2/w2/w1,多以还需原创 2021-02-20 21:10:15 · 1565 阅读 · 1 评论 -
goto语句的使用
goto语句使用一定要在判断中进行操作,如果再顺序语句中,随意的进行跳转,那么程序会具备极大的不确定性,比如前面定义了一个变量,后面值已经改变了,然后goto又跳转到定义处,那么这个变量是定义的值还是后面改变的值?代码量大,这就不好控制了,所以一定要约束goto语句。#include<head.h>#include<unordered_map>#include<unordered_set>#include<cstdlib>//#include<原创 2021-02-10 22:11:10 · 592 阅读 · 0 评论 -
交换两个整数,不使用第三个变量
分析:异或运算,首先必须明确的是异或运算的特点a ^ b=c, a ^ c = b,b ^ c = a,任意两个进行异或得到的第三个数,第三个数和自身异或即可得到另一个数。根据这个特点,适用的场景就多了,比如本文的交换两个数、加密与解密等,特点就是高效,异或运算,移位运算其性能远远高于普通的加减乘除,这个可以自己去验证。提示:根据运算的次数能够大致估算出哪个更快。#include<iostream>using namespace std//交换两个变量的值,不使用第三个变量int ma原创 2021-02-10 15:18:09 · 500 阅读 · 1 评论 -
C++.HmiDcSetup.cpp:2096:20: 错误:‘void GenCommData()’的声明中有显式的限定
错误原因:没有加域限定符.h文件void GenCommData(); .cpp文件void ::GenCommData(){ LOG log("GenCommData"); log.Info() << "[[[ GenCommData, begin!!" << endl; //try //{ // HMIText<string> & dcOptId = _ctlContainer.GetControl< HMIText<st原创 2020-06-11 13:46:32 · 333 阅读 · 0 评论