![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
张之海
硕士毕业于东北大学,现就职于北京某猫头鹰公司,大数据工程师职位。
展开
-
c++ set 交集 并集 差集
《Problem A: 求集合的交并补集》Time Limit: 1 Sec Memory Limit: 4 MBSubmit: 973 Solved: 242[Submit][Status][Web Board]Description任意给定两个包含1-30000个元素的集合A,B(集合中元素类型为任意整型数,且严格递增排列),求A交B、A并B、A-B和B-A集合。I原创 2015-09-29 16:24:52 · 12053 阅读 · 2 评论 -
const关键字区别
1.const修饰参数:表示该方法不会改变参数本身的值。Bign{ Bign ( const* Bign b){//不能修改b的值 }}2.const放在方法头后:在方法内不会修改调用该方法的对象。Bign { Bign operator +(const* Bign b ) const{//不能修改this的值}}原创 2016-03-07 17:17:20 · 322 阅读 · 0 评论 -
memset函数讲解
void *memset(void *s, int ch, size_t n);函数解释:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法[1] 。第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为转载 2016-03-07 17:04:35 · 563 阅读 · 0 评论 -
C++中的运算符重载
运算符重载的实质是函数重载。使用 重载的运算符 的过程解析:1.把运算表达式转化为对运算符函数的调用,把运算对象转化为运算符函数的实参。2.根据实参的类型确定需要调用的目标函数。(这个动作在编译过程完成)运算符重载的规则:1.只能重载已有的运算符,其中有5个不能重载。2.不能改变原操作符的操作对象个数,并且其中至少要有一个操作对象是自定义类型。运原创 2016-03-07 16:40:26 · 493 阅读 · 0 评论 -
C++中给类初始化与赋值的区别
1.初始化Bign x = 100; //初始化初始化时会调用构造函数。2.赋值Bign x; x = 100; //赋值赋值时会调用运算符重载函数。3.特别注意:在运算符重载(点击参看另一篇文章)中,仅重载了赋值运算符"=",还不能进行Bign x = 100;操作,需增加两个函数:Bign(const char* num){ *thi原创 2016-03-07 16:50:15 · 993 阅读 · 0 评论 -
C++ 构造/析构函数中调用虚函数的问题
C++ 构造/析构函数中调用虚函数的问题 参加某公司的面试,遇到一个很有趣的问题,在构造/析构函数中调用虚函数,当时没答出来,回来查了一下资料,整理如下:测试代码1:#include "stdafx.h"using namespace std; class ClassA{public: ClassA(){ cout<<"ClassA::Clas原创 2015-12-24 19:43:00 · 512 阅读 · 0 评论 -
MFC VS 常见错误
error 1:LNK2001: 无法解析的外部符号 "public: void __thiscall CAboutDlg::OnTimer(unsigned int)" (?OnTimer@CAboutDlg@@QAEXI@Z)d:\documents\visual studio 2013\Projects\Deom\Deom\DeomDlg.objDeom原因:在CABou原创 2015-12-23 11:38:31 · 490 阅读 · 0 评论 -
c\c++ codeblocks编译常见错误
1.error:reference to "xxx" is ambiguous原因:与std空间中的某些变量名相同解决方法:将xxx重起个名字。原创 2015-11-24 10:49:44 · 2309 阅读 · 0 评论 -
C++小知识点
1.~scanf()~就是取反:即1变成0,0变成1。用scanf()输入时,若输入正确的数,就返回1,否则返回0。2.#includebits/stdc++.h>头文件包含了C++中所有的头文件。原创 2016-01-02 12:13:05 · 326 阅读 · 0 评论 -
c++ map的基本用法
1.打包键值对: 法1:pair(1,2);法2:make_pair(1,2);区别: std::pair是一种二元组 类模板,表示两种相关联的事务。make_pair()是一种创建二元组的便利 函数模板,这里用到了c++函数模板可省略的特性不使用这个函数模板的话,每次你要创建一个二元组必须写明模板参数。参考网站原创 2015-10-02 08:29:22 · 417 阅读 · 0 评论 -
众数问题
问题描述:给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。 例如,S={1,2,2,2,3,5}。 多重集S的众数是2,其重数为3。 对于给定的由n 个自然数组成的多重集S,编程计算S 的众数及其重数。Input 输入的第1行多重集S中元素个数n;接下来的n 行中,每行有一个自然数,值在整数范围内 Out原创 2015-10-16 18:49:53 · 800 阅读 · 0 评论 -
C++ ofstream和ifstream详细用法
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器( 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout 2、转载 2015-10-16 18:01:24 · 336 阅读 · 0 评论 -
stringstream的用法
参考网站:点击打开链接个人程序:1.使用函数模板的样例:#include#includeusing namespace std;//使用函数模板template out_type convert(const in_type & in_value){ stringstream stream; stream << in_value; out_t原创 2015-09-15 09:10:07 · 413 阅读 · 0 评论 -
题目:《击鼓传花》
Description 设有N个人围成一个圈,每人手里都握着一个令牌写明一个数字(随机生成的)。从第一个人开始玩“击鼓传花”游戏, 第一个击的次数为其令牌上写明的数字数(假设为m1)。第m1个人出列。下次再从第m1+1个人开始新的“击鼓传花” 击的次数也为其令牌上写明的次数,等于该次数的人出列。重复以上过程直到所有人都出列为止。Input 输入第一行为测试数据组数。每组测试数据2行,第1行一原创 2015-09-30 10:39:53 · 4373 阅读 · 0 评论 -
深入浅出静态链接和动态链接
作为一名C/C++程序员,对于编译链接的过程要了然于胸。首先大概介绍一下,编译分为3步,首先对源文件进行预处理,这个过程主要是处理一些#号定义的命令或语句(如宏、#include、预编译指令#ifdef等),生成*.i文件;然后进行编译,这个过程主要是进行词法分析、语法分析和语义分析等,生成*.s的汇编文件;最后进行汇编,这个过程比较简单,就是将对应的汇编指令翻译成机器指令,生成可重定位的二进制目...转载 2019-08-12 15:38:39 · 493 阅读 · 0 评论