
C++
文章平均质量分 86
a1059682127
这个作者很懒,什么都没留下…
展开
-
C++ 风格指南 — Google 开源项目风格指南
C++ 风格指南 - 内容目录 — Google 开源项目风格指南 初衷 统一的编程风格 风格 , 亦被称作可读性, 也就是指导 C++ 编程的约定 头文件 Self-contained 头文件 所有头文件要能够自给自足。换言之,用户和重构工具不需要为特别场合而包含额外的头文件。 如果 .h 文件声明了一个模板或内联函数,同时也在该文件加以定义。凡是有用到这些的 .cc 文件,就得统统包含该头文件,否则程序..原创 2021-05-19 21:51:50 · 352 阅读 · 0 评论 -
12/16 CVTE C++开发
1、自我介绍2、怎么做项目的?做研究的思路?在课题研究方法,我一般针对研究的课题查看大量的文献,总结研究现状,确定目前存在的问题,针对存在的问题进行深入探讨;做项目上,会通过网站查看是不是有现成方案,比如github,优快云,如果已有一些解决方案,会进行复现,并综合自己需要的效果对已有方案进行改进。3、c++怎么自学的?通过看书c++primer\STL源码解析等4、了...原创 2019-12-23 18:43:14 · 192 阅读 · 0 评论 -
c++面试问题汇总
变量:1、当i是一个整数的时候i++和++i那个更快?它们的区别是什么?(1)2、32位,64位系统中,各种常用内置数据类型占用的字节数?(1)3、结构体内存对齐问题?结构体/类大小的计算?(1)4、结构体struct和共同体union(联合)的区别(2)5、C++的四种强制转换(2)6、C++中的基本数据类型及派生类型(2)7、什么是“引用”?申明和使用“引用”要注意...原创 2019-12-25 08:54:22 · 96 阅读 · 0 评论 -
技术练级攻略
注:该文最新的版本在这里《程序员技术练级攻略(2018版)》(需要付费阅读)月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习P...转载 2019-03-21 15:29:00 · 395 阅读 · 0 评论 -
语句、函数
第5章 语句 5.3 条件语句 if语句:根据布尔值决定控制流 switch语句:计算一个整型表达式的值,然后根据这个值从几条执行路径中选择一条 5.3.1 if语句 if(condition) statement 1、condition必须用()包围起来 2、if语句statement没有{}...原创 2020-02-18 17:46:31 · 235 阅读 · 0 评论 -
变量及关键字
第2章、变量和基本类型2.1、基本内置包括算术类型+空类型(void) 2.1.1算术类型 分类:整型(字符、整型数、布尔变量),浮点型 bool 布尔 未定义 char 字符 8位 wchar_t 宽字节 16位 short 短整型 ...原创 2020-02-15 16:14:30 · 1458 阅读 · 0 评论 -
C++内存管理
动态内存1、new和malloc的区别。(1)• new是运算符,malloc()是一个库函数; • new会调用构造函数,malloc不会; • new返回指定类型指针,malloc返回void*指针,需要强制类型转换; • new会自动计算需分配的空间,malloc不行; • new可以被重载,malloc不能。 2、智能指针(1) 智能定义在&l...原创 2020-03-05 17:48:21 · 232 阅读 · 0 评论 -
C++ STL
STL1、vector的reserve和capacity的区别?(1)reserve()用于让容器预留空间,避免再次分配内存;capacity()返回在重新进行分配以前所能容纳的元素数量。 2、vector中size()和capacity()的区别。(1) size():返回容器内已有元素的个数(大小) capacity():返回重新进行分配之前所能容纳的元素的...原创 2020-03-04 08:28:12 · 771 阅读 · 0 评论 -
指针与引用
指针与引用:1、指针和引用的区别(1) 区别: (1)引用只是别名,指针是一个对象,引用不能修改绑定对象,指针可以修改指向的对象 (2)有const指针,但是没有const引用,因为引用绑定的对象本身不能修改 (3)指针可以有多级,但引用只能是一级(引用不是对象,所以不能声明引用的引用) (4)指针的值可以为空,但是引用的值不能用NULL,引用在定义的...原创 2020-03-05 17:36:22 · 470 阅读 · 1 评论 -
Functor拟函数
内容整理自国外C++教材 先考虑一个简单的例子:假设有一个vector<string>,你的任务是统计长度小于5的string的个数,如果使用count_if函数的话,你的代码可能长成这样:1 bool LengthIsLessThanFive(const string& str) {2 return str.length()<5; 3 }...转载 2019-04-23 16:48:44 · 1187 阅读 · 0 评论 -
new关键字用法
NEW关键字的三种用法 最近面试中有一道题是写new关键字的几种用法,想了下写下我知道的两种用法 第一种 创建对象、调用构造函数,这就不用讲了 ClassA A=new ClassA(); 第二种 是作为修饰符,显示隐藏继承于基类的继承成员 class Program { static void Main(string[] args) ...转载 2019-04-23 17:26:09 · 175 阅读 · 0 评论 -
C++命名空间 namespace的作用和使用解析
C++命名空间 namespace的作用和使用解析一、 为什么需要命名空间(问题提出)命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突。在 C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够区别它们。1、全局变量的作用域是...转载 2019-04-29 16:30:40 · 214 阅读 · 0 评论 -
C++中的虚函数(virtual function) (细节,决定成败) (写得很好)
1.简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public: virtual void foo() { cout << "A::foo() is called" << endl;}};class B: public A{public:...转载 2019-04-25 09:41:32 · 3508 阅读 · 0 评论 -
static关键字的作用
在C语言中static的作用如下第一、在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。第二、static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。第三、static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。Static修饰的局部变量存...转载 2019-04-30 09:43:11 · 160 阅读 · 0 评论 -
c++小知识
copy构造函数:第一个参数为对象的引用,常为const!Empty(const Eempty& rhs)类类型成员,使用其类的拷贝构造函数拷贝,如string;内置类型成员,使用直接拷贝;拷贝赋值运算符:如果运算符是个成员函数,则左侧运算对象绑定到隐式的this参数,返回一个指向直左侧运算对象的引用;Foo& operator = (const ...原创 2019-05-09 09:17:03 · 168 阅读 · 0 评论 -
STL源码解析(一)
1、当vector的内存用完了,它是如何动态扩展内存的?它是怎么释放内存的?用clear可以释放掉内存吗?是不是线程安全的?1.1、所谓动态增加内存,并不是在原空间之后增加新空间(因为无法保证原空间之后尚有可供配置的空间),而是以原大小的两倍另外配置一块较大空间,然后将原内容拷贝过来,然后才开始在原内容之后构造新元素,并释放原空间。1.2、清空vector中的元素是使用clear,clea...原创 2019-10-09 20:08:36 · 156 阅读 · 0 评论 -
const与函数
const的用法,特别是用在函数前面与后面的区别!const的用法,特别是用在函数后面在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针。可以改变this所指向的值,但不能改变 this所保存的地址。在 const成员函数中,this的类型是一个指向 const类类型对象的 const指针。既不能改变 this所指向的对象,也不能改变 thi...转载 2019-04-22 21:27:41 · 8492 阅读 · 0 评论 -
常成员函数、常指针、常量
<code class="lang-c">int print(int i ) const; // function print is constint print(const int i); //argument is const int n;const int * pc = &n; // pc is a non-const pointer to a const in...转载 2019-03-14 20:25:18 · 293 阅读 · 0 评论 -
函数参数压栈顺序
以下程序的输出结果是()。 1 2 3 4 5 main() { char s[]="123",*p; p=s; printf("%c%c%c\n",*p++,*p++,*p++); } 援引《C++ Primer(Fifth Edition)》4.1.3节:Order of oper...转载 2019-03-15 09:02:43 · 2614 阅读 · 0 评论 -
c和c++的区别
牛客9785202号一、返回值C中:如果函数未指定返回值类型,则默认为intc++中:如果一个函数没有返回值,返回值类型必须指定为void二、参数列表C中:如果函数没有指定参数列表,则默认可以接受任意多个参数C++中:有严格的类型检测,没有参数列表的函数默认为void,不接受任意参数三、缺省参数(即给参数一个默认值)C:不支持C++:支持(如果没有指定实参则...转载 2019-03-15 09:42:15 · 152 阅读 · 0 评论 -
fatal error C1083: 无法打开预编译头文件:“Debug/UGFace.pch”: No such file or directory
1。用VC.NET编辑程序,按Ctrl+F7,出现下列错误:fatalerrorC1083:无法打开预编译头文件:“Debug/UGFace.pch”:Nosuchfileordirectory解决方法:修改:项目->属性->C/C++ ->预编译头->不使用预编译头 即可。2。先打开一个以前做了一下的工程,编译通过,能运行。我就稍微修改了...转载 2019-03-19 16:44:35 · 451 阅读 · 0 评论 -
“error LNK1169: 找到一个或多个多重定义的符号”的解决方法
检查是否两个实现的文件.cpp文件都定义了main函数原创 2019-03-19 16:58:15 · 1218 阅读 · 1 评论 -
C++宏定义详解
宏定义self:作用:把一个标识符定义(宏名)为字符串(替换文本),便于程序修改,同时使函数模块化,提高运行效率形式:简单宏定义,带参数宏定义c语言源程序处理过程:预处理、编译、汇编和连接其中预处理过程包括宏展开,所以宏定义先宏展开后编译;C++宏定义详解一、#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定...转载 2019-03-20 10:48:41 · 938 阅读 · 0 评论 -
如何学好C++语言
昨天写了一篇如何学好C语言,就有人回复问我如何学好C++,所以,我把我个人的一些学习经验写在这里,希望对大家有用。首先,因为如何学好C语言中谈到了算法和系统,所以这里就只谈C++语言。C++是最难的语言。这个世界上最难的编程语言可能非C++莫属了。你千万不要以为几天就可以学好C++,C++的学习曲线是相当BT的,你可以看看这篇文章。C++是一门很自由的语言,自由到了有点BT和恐怖的地步。我甚至...转载 2019-03-21 15:32:03 · 149 阅读 · 0 评论 -
C++类内存分布(运行)
1、怎么看到相关类的内存布局设置VS,项目属性——命令行——其它选项:在其他选项这里写上/d1 reportAllClassLayout,它可以看到所有相关类的内存布局写上/d1 reportSingleClassLayoutXXX(XXX为类名),则只会打出指定类XXX的内存布局2、运行(1)普通基类class Base { int a; int b; stati...原创 2020-03-06 18:04:43 · 234 阅读 · 0 评论 -
面向对象与面向过程的本质的区别
前言:如果你很想搞明白面向对象是什么,面向过程是什么,或者说二者之间的区别是什么,那么就花费一点时间来研读一下这篇博客,你一定会有很大的收获的!一、面向对象与面向过程的区别面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整...转载 2019-03-13 15:29:06 · 151 阅读 · 0 评论 -
c++小程序
//输入一个华氏温度,要求输出摄氏温度。公式为 c=5(F-32)/9,取位2小数。 #include "stdafx.h"#include<iostream>using namespace std;int main(){ char c1 = 'C'; char c2 = 'h'; char c3 = 'i'; char c4 = 'n'; char c5 = '...原创 2019-03-19 11:19:14 · 1255 阅读 · 0 评论 -
C语言结构指针详解(推荐)
这篇文章非常清楚,一定要转下---------------------------------------------这篇文章是九九年写的,这篇文章适合中级程序员。有不明白之处不要紧,多看几遍,然后花些时间上机操作及认真思考每个问题。遇到难题要研究、解决,难题出现于哪里?该用什么方式来解决?为什么要选择这个方式解决?有其它的解决方法吗?这样的解决方案完美吗?其实做个程序员这些基本的思考心得...转载 2019-03-27 15:23:08 · 1278 阅读 · 0 评论 -
#ifndef.#define, #endif 的用法
#ifndef.#define, #endif 的用法文件中的#ifndef.#define, #endif 很关键,是为了避免多重包含,比如如果两个C文件同时包含同一头文件,那么就会出现问题,所以使用这种方法可以有效避免这种情况。一般用法:以add.h为例1 #ifndef _ADD_H_2 #define _ADD_H_3 4 //在这里包含add.h的类定...转载 2019-03-31 21:35:13 · 278 阅读 · 0 评论 -
C++问题总结(类)
牛客网上面试题 类:类的基本思想 1、数据抽象和封装 2、数据抽象:一种依赖于接口和实现分离的编程技术 3、封装:实现类的接口和实现分离 首先定义一个抽象数据类型(类的设计者负责考虑类的实现过程,类的使用者只需要抽象地思考类型做了什么,无须了解类型的工作细节) 封装的优点: 1、确保用户代码不会无意间破坏封装对象的状态 2、被封装...原创 2019-12-24 19:41:19 · 244 阅读 · 0 评论 -
OpenCV中Mat的详解
每次碰到Mat都得反复查具体的用法,网上的基础讲解不多,难得看到一篇,赶快转来收藏~原文地址:http://www.opencvchina.com/thread-1039-1-1.html目标我们有多种方法可以获得从现实世界的数字图像:数码相机、扫描仪、计算机体层摄影或磁共振成像就是其中的几种。在每种情况下我们(人类)看到了什么是图像。但是,转换图像到我们的数字设备时我们的记录是图像的...转载 2019-04-26 09:16:21 · 2549 阅读 · 0 评论 -
github上的C++开源项目
Github上的几个C++开源项目 http://blog.youkuaiyun.com/fyifei0558/article/details/47001677http://www.zhihu.com/question/28341521有人吐槽怎么下手FreeNOS,上文档FreeNOS: FreeNOS Documentation--更新--把平时关注的一些c++相关的github的...转载 2019-03-05 09:38:00 · 495 阅读 · 0 评论