自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MISAYAONE的博客

坚持、果敢、勤思、沉淀

  • 博客(46)
  • 资源 (4)
  • 问答 (2)
  • 收藏
  • 关注

原创 Google C++Style Guide【C++编程风格指南解读】——规则的根本目标

编辑代码时, 花点时间看看项目中的其它代码, 并熟悉其风格. 如果其它代码中 if 语句使用空格, 那么你也要使用. 如果其中的注释用星号 (*) 围成一个盒子状, 你同样要这么做.风格指南的重点在于提供一个通用的编程规范, 这样大家可以把精力集中在实现内容而不是表现形式上. 我们展示了全局的风格规范, 但局部风格也很重要,如果你在一个文件中新加的代码和原有代码风格相去甚远

2017-04-24 09:20:07 1037

原创 matlab for循环过大程序运行慢解决方案

实验室经常需要使用到matlab,for循环非常慢,自己找了一些matlab中for循环的优化方法,for的部分每处理一个大矩阵都要花费大量的时间,这是不可避免需要遇到的问题~。方法1:循环多不要紧,要紧的是循环嵌套得太多,要解决这个问题,需要从根本上找原因,用更好的数据结构和算法,从根源上减少对于循环的需求方法2:将循环次数多的放在里面,循环次数少的放在外面做大循环

2017-04-23 09:09:38 35566 8

原创 C++ 牛客网做题总结

所以很多的大题,基本上是做不对的~做题过程中大题很多都是这样的情况,很受伤~1:正确率63%2:查缺补漏,复习了非常非常多的知识点:牛客网做题笔记3:当时主要的目的是为了笔试做准备的,找工作的第一关嘛,到时候翻出来看看,也不用花太多

2017-04-23 09:08:05 3073

原创 C++ 牛客网做题笔记【1200题总结】

1:函数指针的使用方法:fun (char *);    (*f) (char *);三种调用方式都是正确的:主要看a的类型1:f(&a);2:(*f)(a);3:func(a);2:不是new动态创建的指针,显示调用delete是错误的,否则相当于重复调用了析构函数~

2017-04-23 09:07:35 1731

原创 C++ 操作系统进程中线程同步的四种方式

线程同步的定义:      同步就是协同步调,按预定的先后次序进行运行。如:你说完,我再说。“同”字从字面上容易理解为一起动作      其实不是,“同”字应是指协同、协助、互相配合。如进程、线程同步,可理解为进程或线程A和B一块配合,A执行到一定程度时要依靠B的某个结果,于是停下来,示意B运行;B依言执行,再将结果给A;A再继续操作。       所谓同步,就是在发出一个功能调用时,

2017-04-22 09:20:52 2224

原创 C++ 牛客网做题笔记【1100题总结】

1:作为成员函数重载的运算符若没有任何参数,则该运算符为前缀一元运算符,就像++和--一样有前缀后缀,为了进行区分,要求在后缀形式之后加一个int参数,比如A operator++(int) 就是后缀的一元运算符,int是个哑元,用不上的,只是用于判断前缀后缀的标识符2:实型常量,e后面必须是整数;.365前面无数字是对的3:公有继承的保护成员虽然可以被派生类的方法访问,但是并不能被派生类

2017-04-22 08:59:45 1139

原创 C++ 牛客网做题笔记【1000题总结】

1:private修饰的成员变量,只能被该类自身修改和访问,注意只能!同包中的其他类也只能访问保护和公开的成员2:mod运算符,取余;不能重载的运算符  “.” "、" "::"  ''? :' "sizeof" sizeof不能被重载是因为像指针运算这样的内部操作都依赖于这个运算符3:拷贝构造函数无需在调用另一个构造函数,它的参数是引用的类型4:a++返回右值,是表达式,别再忘了!!

2017-04-21 09:47:54 1644 2

转载 对所做的事情的理解越深,你就会做的越好

别以为是那些软件开发定律,别以为是开发出那些特殊用途的软件,别以为是软件设计技术本身。只有一条真理决定了一个软件程序员的成功还是失败。由于坚持这个真理,一个资深的程序员能在一天的时间里学会一门新的编程语言,而由于不坚持这条真理,一个初级的程序员用十年时间也只能挣到一份糊口的钱、永远是来实现别人的设计、永远不够优秀而得不到晋升的机会。这条真理让你看清了差的程序员和好的程序员的不同之处,好的程序员和伟

2017-04-20 09:23:12 908 1

原创 C++ 牛客网做题笔记【900题总结】

1:Maxfd是三个套接字描述符最大数字加1

2017-04-20 09:22:29 1483

原创 预防程序员最大的敌人:腰间盘突出和颈椎病

久坐、盯屏幕,才是我们最大的敌人~腰间盘突出:       日常生活中,尽量减少弯腰的动作,捡东西时要身体靠近物体蹲下捡取,不要直接弯腰捡取物品;       早晨起床时,要通过挺腰、抬腿等动作先放松腰部,然后侧卧用胳膊支撑身体起床;       长时间坐位时,要注意保持正确的姿势,必要时可在腰后部放置一个小枕头或靠垫,保持腰椎的正常生理曲度,减轻腰部肌肉疲劳

2017-04-19 09:43:03 9395 6

原创 C++ malloc()、calloc()、realloc()、new[]分配内存方法辨析

1:malloc()函数: void *malloc(unsigned int size)在内存的动态区域中分配一个长度为size的连续空间,分配成功返回内存空间的首地址,否则返回NULL,申请的内存不会进行初始化2:calloc()函数:void *calloc(unsigned int num,unsigned int size)按照所给数据个数和数据类型所占字节数,分配一

2017-04-19 09:42:29 944

原创 C++ void指针解析

指针的解析:      指针有两个属性:指向变量/对象的地址和长度 ,但是指针只存储地址,长度则取决于指针的类型 ,编译器根据指针的类型从指针指向的地址向后寻址 ,指针类型不同则寻址范围也不同,比如: int*从指定地址向后寻找4字节作为变量的存储单元 ,double*从指定地址向后寻找8字节作为变量的存储单元void指针:1.void指针是一种特别的指针 void

2017-04-18 09:05:11 1550

原创 C++ 牛客网做题笔记【800题总结】

1:C语言中,输出格式%M.Ns,例如%5.3s,输出字符串左端的n个字符,这n个字符输出在m列的右侧,左补空格2:STL是线程不安全的,bieset不是标准库的容器,只是STL中的模版类,不符合STL的特性3:std::sort()是不稳定的排序算法,但它并不是简单的封装快排,sort()会根据数据的具体情况进行具体的优化,使用不确定的排序方法4:C语言的模块化是通过函数来实现的

2017-04-18 09:03:35 1743

原创 C++ 牛客网做题笔记【700题总结】

1:复制构造函数(也称拷贝构造函数)和赋值构造函数之间的区别:等号在定义变量的那一句语句中, 叫初始化, 这时候它不是一般的等号, 不是赋值.class A{//略} int main(){ A a;//构造函数 A b = a;//复制构造函数,拷贝构造函数 A c;//构造函数 c = a;//赋值构造函数}2:运算符优先级:&& > || ,且|| 有短路

2017-04-17 09:37:05 1088

原创 C++ 关于虚函数n条性质

1:内联函数在编译期间直接展开,虚函数是在运行时动态绑定的,本质上是冲突的,即使虚函数被声明为内联函数,编译器遇到这种情况根本不会把这样的函数内联展开,而是当做普通函数来处理,编译器不会报错,但无意义,但虚函数仍然是虚函数,只是编译器会忽略inline2:只有纯虚函数,派生类才必须加以改写,否则派生类即可直接继承基类的虚函数3:虚函数必须是类的非静态成员函数,其访问权限可以是protect

2017-04-16 09:31:19 878

原创 C++ 牛客网做题笔记【600题总结】

1:隐藏分为两种:派生类中与基类的函数名相同,参数不同时,无论是否是虚函数,都隐藏;参数相同时,没有虚函数标志,基类函数被隐藏

2017-04-16 09:19:54 1431

原创 C++ 原码、补码和反码解析

首先对于有符号数,第一位的位置是表示的正负,为1时是负数,为0时是正数其次,正数的原码、补码、反码一致负数的反码是原码的数值位(也就是除了第一位的符号位之外)取反,负数的补码是反码加1 在计算机中带符号的整数都是采用二进制的补码进行存储,数据在内存中始终是以二进制形式存放的,数值是以补码表示的。无论32位还是64位,int都是4个字节,32位,表示的范围为-2147

2017-04-15 09:42:05 7338

原创 C++ 牛客网做题笔记【500题总结】

1:要判断一个双精度的浮点数double是否等于0,应使用abs(f) 2:内存中的全局域的常量字符串放在文字常量区3:JAVA不使用指针,被封装起来了,不支持头文件,不支持宏定义,JAVA可以动态分配内存,Java是单继承的,只能有一个父类,不支持多继承;C++比较适合一些底层的处理,Java比较适合开发应用;C++的速度理论上比JAVA快4:C++的格式化输入输出都定义在ioman

2017-04-15 09:41:08 1587

原创 C++ 牛客网做题笔记【400题总结】

1:free之后的指针,只是释放掉指针所指向的内存,但是该指针仍然指向该内存,所以需要置NULL,告诉系统目标地址可回收2:无符号数的循环可能会造成死循环,unsigned char 0~255,i++ 3:有些信息在存储时,并不需要占用一个完整的字节,而只需要占用几个或一个二进制位,为了节省内存空间,C语言提供了一种数据结构,称为位域或者位段,将一个字节中的二进制位划分为几个不同的区域,

2017-04-14 09:26:39 794

原创 C++ static_cast、dynamic_cast、const_cast和reinterpret_cast的总结辨析

C++中的类型转换分为两种:隐式类型转换;显式类型转换;       而对于隐式变换,就是标准的转换,在很多时候,不经意间就发生了,比如int类型和float类型相加时,int类型就会被隐式的转换位float类型,然后再进行相加运算。而关于隐式转换不是今天总结的重点,重点是显式转换。在标准C++中有四个类型转换符:static_cast、dynamic_cast、const_cast和rein

2017-04-14 09:22:53 765

原创 C++ 牛客网做题笔记【300题总结】

1:fork函数复制时将父进程的所有资源都通过复制数据结构进行了复制,然后传给子进程,所以fork函数不带参数。fork()是全部复制,vfork()是共享内存。clone()是可以将父进程资源有选择地复制给子进程,而没有复制的数据结构则通过指针的复制让子进程共享,具体要复制哪些资源给子进程,由参数列表中的clone_flags来决定。另外,clone()返回的是子进程的pid。c

2017-04-13 09:03:31 1030

转载 程序员上班时的各种内心戏...

01读大神写的代码的时候:这是什么………… 我X,太牛X了。▼读刚来的程序员写的代码的时候:这是什么………… 我X,太傻X了。▼02读大神写的代码的时候▼当读其他程序员写的代码的时候▼03当别人写的bug,让自己发现的时候:

2017-04-13 09:02:39 1053 7

原创 Google C++Style Guide【C++编程风格指南解读】——Windows代码规则

Windows 程序员有自己的编程习惯, 主要源于 Windows 头文件和其它 Microsoft 代码. 我们希望任何人都可以顺利读懂你的代码, 所以针对所有平台的 C++ 编程只给出一个单独的指南.如果你习惯使用 Windows 编码风格, 这儿有必要重申一下某些你可能会忘记的指南:不要使用匈牙利命名法 (比如把整型变量命名成 iNum). 使用 Google 命名约定,

2017-04-12 10:00:03 1199

原创 C++ 数组指针与普通指针的辨析

首先看几个变量:char s[3][4];char (*k)[3];char *p;首先s是一个二维数组,s本身可以当作一个指针,指向二维数组的第一个元素,也就是第一个一维数组,其中包含4个元素;k是一个指向包含3个元素的数组指针;p是一个指向单个变量的指针。所以s指向的数组包含了4个元素,k指向的数组包含了3个元素,p指向的对象包含了1个变量。s+1意

2017-04-12 09:58:50 1178 1

原创 西方文学名著鉴赏——英文诗歌翻译赏析

谈英诗汉译的几个基本问题曹明伦      高校英语专业广泛使用的《英汉互译实用教程》(以下简称《教程》)在“诗歌翻译与欣赏”这一章①中以First Love这首诗的汉译为主要译例,从六个方面向学生介绍了“诗歌翻译的基本知识”:一、诗歌必备因素;二、译诗者未必是诗人;三、把汉诗格律诗译成英语,最好也用格律诗;四、押韵是达到音美的重要手段;五、译者要喜爱原诗;六、诗无达

2017-04-11 09:49:14 10815

原创 C++ int型负数除法取余问题

1:关于除法,不管是正数还是负数都是向0取整的:10/4 = 2,10/(-4) = -22:负数取余,通过取模来判定|小| % |大| = |小| 符号同前    |大| % |小| = |余| 符号同前3%4 = 3 ; -3%4 = -3 ; -3%-4 = -3 ; 3%-4 = 3;5%3 = 2 ; 5%-3 = 2  ;-5%-3 = -2 ; -5%3

2017-04-11 09:13:12 16238 2

原创 Google C++Style Guide【C++编程风格指南解读】——C++代码格式

代码风格和格式确实比较随意, 但一个项目中所有人遵循同一风格是非常容易的. 个体未必同意下述每一处格式规则, 但整个项目服从统一的编程风格是很重要的, 只有这样才能让所有人能很轻松的阅读和理解代码.1:每一行代码字符数不超过 80.解读:我想也不会有这么可怕的新手存在吧~以下有几个特例:如果一行注释包含了超过 80 字符的命令或 URL, 出于复制粘贴的方便允许该行超过

2017-04-11 09:11:06 1498

原创 Google C++Style Guide【C++编程风格指南解读】——注释

注释虽然写起来很痛苦, 但对保证代码可读性至关重要. 下面的规则描述了如何注释以及在哪儿注释. 当然也要记住: 注释固然很重要, 但最好的代码本身应该是自文档化. 有意义的类型名和变量名, 要远胜过要用注释解释的含糊不清的名字.1:使用 // 或 /* */, 统一就好.解读:个人觉得//会比较方便一点~2:在每一个文件开头加入版权公告, 然后是文件内容描述.解读:

2017-04-10 09:09:50 1012

原创 C++ #pragma pack()解析

我们知道计算机系统对基本数据类型在内存中的存放是有一定限制的,通常我们会要求这些数据的首地址的值是某个数的倍数(4或8),这就是所谓的内存对齐。      而每个平台上的编译器都有着自己的“默认对齐系数”(32位机一般为4,64位机一般为8),但我们可以通过预编译命令#pragma pack(k),k = 1,2,4,8,16来改变这个系数,其中的k就是对齐系数;当然也可以使用#pragma

2017-04-10 09:08:47 3907

原创 Google C++Style Guide【C++编程风格指南解读】——C++特性

非常重要的一节,让你的代码有明显的美观可读改善!1:所有按引用传递的参数必须加上 const.解读:函数传入的参数若想修改,则传入方式可以是指针或引用, 输入参数是值参或 const 引用, 输出参数为指针. 输入参数可以是 const 指针, 但决不能是非 const 的引用参数,除非用于交换,比如 swap().好处:定义引用参数防止出现 (*pval)++ 这样丑陋的代码

2017-04-09 09:32:34 1442

原创 Google C++Style Guide【C++编程风格指南解读】——命名约定

最重要的一致性规则是命名管理. 命名风格快速获知名字代表是什么东东: 类型? 变量? 函数? 常量? 宏 ... ? 甚至不需要去查找类型声明. 我们大脑中的模式匹配引擎可以非常可靠的处理这些命名规则.命名规则具有一定随意性, 但相比按个人喜好命名, 一致性更重要, 所以不管你怎么想, 规则总归是规则.1:函数命名,变量命名,文件命名要有描述性;少用缩写。解读:尽可能给有描

2017-04-09 09:30:30 858

原创 C++ 常量折叠问题的理解

在C++中,const变量(即常量)值放在编译器的符号表中,计算时编译器直接从表中取值,而不是访问内存,省去了访问内存的时间,这也就是所谓的编译器优化。下面的代码可以很清晰的看出:main.cpp#include using namespace std;int main(int argc,char** argv){ /*volatile*/ const int i = 0;

2017-04-08 09:35:02 1231

原创 Google C++Style Guide【C++编程风格指南解读】——类

类是 C++ 中代码的基本单元. 也是面向对象编程的核心,必须加以深入理解1:不要在构造函数中进行复杂的初始化,尤其是那些有可能失败或者需要调用虚函数的初始化解读:构造函数只进行简单的操作:比如简单的赋值或是输出语句2:如果类中定义了成员变量, 则必须在类中为每个类提供初始化函数或定义一个构造函数. 若未声明构造函数, 则编译器会生成一个默认的构造函数, 这有可能导致某

2017-04-08 09:34:15 1131

原创 C++ 关于缺省参数的静态绑定

缺省参数的静态绑定的定义:调用一个派生类中virtual函数时,使用的是基类中为该函数指定的缺省参数值这样是非常危险的情况,所以在Effective C++ 条款37中:绝不重新定义继承而来的缺省参数值可以看下面的一段程序:执行过程:1:由于B类中未覆盖基类A中的虚函数,所以调用的是基类A中的test函数2:虚函数执行动态绑定、函数的缺省参数执行静态绑定3:

2017-04-07 09:46:12 832 1

原创 C++ 类中重载、覆盖和隐藏的区别和联系

首先明确在类中三者的定义:重载:只有在同一类中定义的同名成员函数才存在重载关系,主要特点是:函数的参数有所不同覆盖:在派生类中覆盖基类的同名函数,要求两个函数的参数个数、参数类型、返回类型必须相同,且基类函数必须是虚函数隐藏:派生类中的函数屏蔽了基类中的同名函数,即两个函数参数相同、返回类型相同,但基类函数不是虚函数理解:这三者的理解主要再于理解函数的调用过程,在调用一个类

2017-04-07 09:45:03 734

原创 Google C++Style Guide【C++编程风格指南解读】——作用域

作用域的概念贯穿整个C++的项目之中,必须加以深刻理解1:名字空间四条主要tips:1:鼓励在 .cc 文件(源文件)内使用匿名名字空间. 2:使用具名的名字空间时, 其名称可基于项目名或相对路径. 3:禁止使用 using 指示(using-directive),using namespace std; 以后不用了~具体可参照:http://blog.csdn.n

2017-04-07 09:37:01 827

原创 C++ 指针的加减运算

首先明确几点:1:涉及到数组的指针,若两指针指向的不是同一个数组,那么指针之间的加减运算是无意义的,因为得到的结果就是他们地址之间的差值。2:指针变量加/减 一个整数,例如:p++,p--,p+i,p-i,p+-i,p-=i等      C++规定,一个指针变量加/减一个整数是将该指针变量的原值(是一个地址)和它指向的变量所占用的内存单元字节数相加或相减。如p+i代表这样的地址计算

2017-04-06 09:26:03 6733

原创 C++ 宏定义和 typedef 的区别

宏定义#define为预处理指令,在编译处理时进行简单的文本替换,不作正确性检查,不关含义是否正确照样带入,只在编译已被展开的源程序时才会发现可能的错误并报错。  typedef为复杂的声明定义简单的别名。在自己的作用域内给一个已经存在的类型一个别名。特点注意:1:#define 不是语句 不要在行末加分号,否则 会连分号一块置换。2:#define的原理是文本替换。#de

2017-04-06 09:25:24 3814 1

原创 2017 华为软件精英挑战赛——思路、算法简介

2017 华为软件精英挑战赛初赛赛题4.5号就结束初赛了,不影响大家的排名,只说大致思路和方法:正好研一上学期学习了焦永昌教授的《工程优化》,期末的大作业就是遗传算法分割图像的小论文,所以对启发式算法还是比较熟悉的,如果是西电的小伙伴一定要选这个老师的课啊,给分高讲的还好,关键学的东西还有用!!1:使用遗传算法可以参考一下这篇论文:赵国忠, 陈靖一, 凌韬. 遗传算法求最优

2017-04-04 09:24:16 6003

原创 Google C++Style Guide【C++编程风格指南解读】——头文件

关于头文件:正确使用头文件可以让你的代码看起来更加的美观,管理起来更加的方便1:每一个.cc文件(C++的源文件)都应该有其对应的.h文件(C++的头文件),例外:单元测试中的代码和只包含main()函数的.cc文件解读:.h文件通常是相关自定义类和模版的声明,而其定义部分将会放在.cc(.cpp)文件中实现2:使用#define进行头文件的保护,防止头文件被重复包含,

2017-04-04 09:23:06 1900

新版glut32.dll

新版本glut32.dll 可解决“无法定位程序输入点 _glutCreateWindowWithExit于动态链接库glut32.dll上”问题

2017-06-13

仿宋GB2312字体

GB2312编码适用于汉字处理、汉字通信等系统之间的信息交换,通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB 2312。

2017-05-22

2017 华为软件精英挑战赛赛题

2017 华为软件精英挑战赛赛题:大视频时代•布局 在给定结构的G省电信网络中,为了视频内容快速低成本的传送到每个住户小区,需要在这个给定网络结构中选择一些网络节点附近放置视频内容存储服务器。需要解决的问题是:在满足所有的住户小区视频播放需求的基本前提下,如何选择视频内容存储服务器放置位置,使得成本最小。

2017-04-03

Faststone6.9安装包

Faststone 是一款Windows 上的一款强大的截图软件。 可以随时捕获窗口,抓取控件,抓取全屏,自定义区域截屏。 同时它还支持滚动截屏,尤其是当你截取网页的时候。 同时它还自带强大的图片编辑器,还可以屏幕取色。 它还可以录制视频,保存为视频文件或者gif 文件。

2017-01-07

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除