C++
文章平均质量分 90
水无垠ZZU
东方欲晓,莫道君行早。踏遍青山人未老,风景这边独好。
展开
-
一个软件开发工程师选择C++的自述
C++!宇宙中最可怕的语言。自人类诞生以来,它可以对软件工程中的一切错误负责。如果你学习它,那么世界上没有足够的东西来保护您免受 C++ 的侵害!抱怨一种编程语言可能会让你疯狂点击键盘,但它并不能真正改变什么,不是吗?如果您想就 C++ 和一般编程进行更独立的对话,请继续阅读。如果已经很晚了,而您只是难以入睡,那么,也请继续阅读。我是如何成为程序员的在我进入我的观点之前,我认为分享我是如何到达那里的会很有用。此外,这是我的博客文章,所以很不幸,我想写什么就写什么。我第一次接触家用电脑是在 198.翻译 2021-11-25 09:53:33 · 1012 阅读 · 1 评论 -
在C中,如何知道动态分配是否成功?----深度分析
在C中,如何知道动态分配是否成功?常见内存错误与对策业界语句说法,是否了解内存管理机制,是辨别C/C++程序员和其他的高级语言程序员的重要区别。作为C/C++中的最重要的特性,指针及动态内存管理在给编程带来极大的灵活性的同时,也给开发人员带来了许多困扰。在 C 编程语言中,我们使用 malloc 函数动态地(在堆上)分配内存。传递 malloc 一个 size 参数,该参数对应于所需的字节数。如果无法分配内存,该函数将返回指向已分配内存的指针或 NULL 指针。或许你曾经这样想过,编写一个分配1T内存原创 2021-11-06 20:46:51 · 2208 阅读 · 0 评论 -
C++“读取“大量数据时--快读
C++"读取"大量数据时--快读优化读入优化输出优化更快的读入/输出优化输入输出的缓冲使输入输出优化更为通用完整带调试版举例:在一些算法题目中中,有的程序会被卡常数,就是说,程序虽然时间复杂度可以接受,但因为算法本身的时间常数过大,导致程序在一些算法竞赛中超时。这是,快读就显得尤为重要了。当然,如果程序算法本身就不高效,快读就更加重要了,可以让一些暴力程序获得更多的测试点分数,如果数据不大甚至能AC,此时快读就是“得分法宝”.在默认情况下, std::cin/std::cout 是极为迟缓的读入/输出原创 2020-10-14 21:17:18 · 4329 阅读 · 2 评论 -
c语言,c++函数返回一个数组,二维数组
c语言,c++函数返回一个数组,二维数组与其他高级语言相比,c语言,c++ 最大的不方便之处就是 函数只能返回一个数值。若要返回一个数组,必须用到指针以及动态分配内存。这是一个坎,就如学吉他时的大横按一样,不少人在这个坎上望而却步。我前几年一直看不懂,最近重温c 与c++的动态内存,发现忽然明白会用了。可能经过这几年大量的编程,越来越具有程序员思维了吧.方法之一:返回一个结构体,结构体里面...转载 2020-03-25 10:30:49 · 2662 阅读 · 0 评论 -
C++函数模板(模板函数)详解
C++函数模板(模板函数)详解定义用法:函数模板的原理延申用法2.1为什么需要类模板2.2单个类模板语法2.3继承中的类模板语法案例1:案例2:2.4类模板的基础语法2.5类模板语法知识体系梳理1.所有的类模板函数写在类的内部复数类:2.所有的类模板函数写在类的外部,在一个cpp中2.5总结关于类模板的几点说明:2.6类模板中的static关键字案例2:以下来自:C++类模板遇上static关键字...原创 2019-07-04 16:03:01 · 110873 阅读 · 19 评论 -
C++ 基本的输入输出格式设置
C++ 基本的输入输出这个我想这一篇文章也就够了,总结的非常全面了,不用死记硬背,因为平常很少用到。#include <iostream>#include <iomanip>using namespace std;int main(){ cout<<setiosflags(ios::left|ios::showpoint); // 设左对齐...原创 2019-07-04 19:23:35 · 3632 阅读 · 0 评论 -
类模板和模板类
类模板和模板类所谓类模板,实际上是建立一个通用类,其数据成员、成员函数的返回值类型和形参类型不具体指定,用一个虚拟的类型来代表。使用类模板定义对象时,系统会实参的类型来取代类模板中虚拟类型从而实现了不同类的功能。定义一个类模板与定义函数模板的格式类似,必须以关键字template开始,后面是尖括号括起来的模板参数,然后是类名,其格式如下:template <typename 类型参数&...原创 2019-07-04 21:10:42 · 50268 阅读 · 17 评论 -
继承时,构造函数和析构函数的调用顺序
继承时,构造函数和析构函数的调用顺序保证你们一篇看懂,不懂得可以留言!!!一定给你们讲明白!先调用父类的构造函数,再初始化成员,最后调用自己的构造函数先调用自己的析构函数,再析构成员,最后调用父类的析构函数如果父类定义了有参数的构造函数,则自己也必须自定义带参数的构造函数父类的构造函数必须是参数列表形式的多继承时,class D: public Base2, Base1, Base的...原创 2019-07-04 21:19:34 · 7239 阅读 · 0 评论 -
C++利用对象、引用、指针调用虚函数
C++利用对象、引用、指针调用虚函数虚函数实现原理说明:每个类的大小比起所有成员数据多4个字节,表明有虚函数的类的大小还要加上一个紧缩的空指针类型的大小。这说明了该在包含虚函数的类中,编译系统自动加入了一些表明类型的信息。当一个类中拥有虚函数时,编译系统将为该类创建一个数组VTABLE。VTABLE的元素是虚函数的地址,且同一虚函数的地址在基类和派生类的VTABLE中相对首位置的偏移是一样的...转载 2019-07-04 21:28:23 · 5462 阅读 · 0 评论 -
C++类和对象的使用之对象指针
类和对象的使用之对象指针对象指针的一般概念对象指针:指向类的成员的指针。在C++中,可以说明指向类的数据成员和成员函数的指针。对象指针遵循一般变量指针的各种规则:类名 *对象指针名;对象指针名*成员名;对象指针在使用之前,也一定要先进行初始化,让它指向一个已经声明过的对象,然后再使用。通过对象指针,可以访问到所指向对象的公有成员。指向对像的指针在建立对像时,编译系统会为每一个对像分配...转载 2019-07-04 21:38:07 · 24087 阅读 · 0 评论 -
C++学习顺序与拓展
很多人学习了一段时间后就发现不知道想哪方面拓展,想我当年就是学了大量C++教程后竟然不知道应该向哪方面拓展,因此本文主要介绍一些c++正确学习方向,一次给予大家一些方向感。希望可以给大家一些帮助。@[toc]()# (一)C++正确学习顺序一张图了解所有相关事物。(二)相关书籍推荐书籍可以根据自己喜好,比如我平常喜欢看教程不太喜欢读书,所以就可以把书籍当作资料来查询使用,当然如果你喜欢...原创 2019-06-29 16:46:56 · 3234 阅读 · 1 评论 -
值得推荐的C/C++框架和库
值得推荐的C/C++框架和库Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。值得学习的C语言开源项目Libeventlibev是一个开源的事件驱动库,基于epoll,...转载 2019-09-02 12:35:20 · 326 阅读 · 0 评论 -
为VS添加bits/stdc++.h头文件
为VS添加bits/stdc++.h头文件这两天才发现#include<bits/stdc++.h>的神奇之处,一个它几乎包含了所有的头文件啊,省了好多事!但有利就有弊,他比较消耗时间,但和总体相比,还是值得的。这里面一般路径不太好找,我的如下:你们可以参考一下。接下来,添加步骤【如果安装了MinGW的直接在文件夹里面找到bits这个文件夹,把里面内容复制粘贴到vs的头...原创 2019-09-15 09:55:08 · 11931 阅读 · 27 评论 -
C++ cout cerr 和 clog 的区别
C++ cout cerr 和 clog 的区别我们都知道C++预定义了cin(标准输入流)和cout(标准输出流)。但今天突然又蹦出来两个cerr(标准错误流(非缓冲))和clog(标准错误流(缓冲)),本着学习提高的态度在网上搜索了相关内容,下面是从百度知道获取的内容ps:不知道是不是会侵权呀…首先通过一个例子就可以分析cout与cerr的区别,将下面代码编译链接后生成test.exe...原创 2019-07-04 15:21:04 · 1151 阅读 · 6 评论 -
C++运算符重载
C++运算符重载运算符重载运算符重载的作用运算符重载入门运算符重载的限制运算符重载基础运算符重载的方法步骤重载++ 需要注意(重点)友元函数 重载 << 还有链式编程简单版的复数类重载简单的name类重载编写复数类main.cppComplex.hComplex.cpp编写string类main.cppMyString.hMyString.cpp运算符重载什么是运算符重载?运...原创 2019-07-04 13:50:22 · 3163 阅读 · 0 评论 -
c语言中函数参数处理顺序以及默认参数原则
c语言中函数参数处理顺序下面我们来看2个案例,分析下c语言中函数参数处理顺序。第一个: #include "stdio.h" void fn(int a,int b,int c) { printf("%d,%d,%d", a, b, c); } void main() { int a = 3;...原创 2019-07-04 11:20:59 · 9890 阅读 · 2 评论 -
C++之spriintf函数(itoa函数)
sprintf函数头文件:stdio.h原型int sprintf( char *buffer, const char *format, [ argument] … );参数列表buffer:char型指针,指向将要写入的字符串的缓冲区。format:格式化字符串。[argument]…:可选参数,可以是任何类型的数据。返回值返回写入buffer 的字符数,出错则返回-1. 如果...原创 2019-05-21 18:33:48 · 534 阅读 · 0 评论 -
C++之优化队列(详解篇)
priority_queue队列优先队列定义声明使用基本操作插入移除操作重载应用队列(没有队列基础还是吃不消,你们可以参考一下队列的知识)C++队列queue模板类的定义在头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构...原创 2019-05-21 19:50:44 · 2194 阅读 · 0 评论 -
BAT 高频面试题:寻找两个有序数组的中位数
BAT 高频面试题:寻找两个有序数组的中位数今天在leetcode中看到的一个简单的题,分享一下!题目描述给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:示例 2:解题思路:这道题如果时间复杂度没有限定在O...原创 2019-05-30 19:52:22 · 312 阅读 · 0 评论 -
C++中多态的概念和意义
1、函数重写回顾:父类中被重写的函数依然会继承给子类;子类中重写的函数将覆盖父类中的函数;重写父类当中提供的函数是因为父类当中提供的这个函数版本不能满足我们的需求,因此我们要重写;期望只要是子类对象,则调用子类当中的版本,而不是父类当中定义的函数版本;通过作用域分辨符(::)可以访问到父类中的函数;代码示例: Child c; Parent* p = &c;...原创 2019-06-26 10:45:11 · 2256 阅读 · 0 评论 -
《C++primer plus》收获上
《C++primer plus》收获上1 C++的const比C语言#define更好的原因?2不能简单地将整数赋给指针,如下所示:3为什么说前缀++/--比后缀++/--的效率高?4 逗号运算符5字符函数库cctype6快排中中值的选取:7C++存储方案:自动存储持续性:静态存储持续性:线程存储持续性(C++11):动态存储持续性:8自己写string类注意事项:9何时调用拷贝(复制)构造函数:...原创 2019-07-03 15:13:44 · 558 阅读 · 0 评论 -
C++知识目录
C++知识目录C++学习目录C++中多态的概念和意义C++知识感悟C++学习目录C++中多态的概念和意义C++知识感悟原创 2019-07-03 22:22:16 · 2018 阅读 · 3 评论 -
C++智能指针简单剖析
导读最近在补看《C++ Primer Plus》第六版,这的确是本好书,其中关于智能指针的章节解析的非常清晰,一解我以前的多处困惑。C++面试过程中,很多面试官都喜欢问智能指针相关的问题,比如你知道哪些智能指针?shared_ptr的设计原理是什么?如果让你自己设计一个智能指针,你如何完成?等等……。而且在看开源的C++项目时,也能随处看到智能指针的影子。这说明智能指针不仅是面试官爱问的题材,更...转载 2019-07-03 16:06:40 · 316 阅读 · 0 评论 -
C++编程思想重点笔记(上)
C++编程思想重点笔记(上)1.C和C++指针的最重要的区别在于:2.参数传递准则3.C++访问权限控制:4.前置声明注意5.C++是纯的吗?6.C++输入输出流的操纵算子(manipulator)有:7.C语言中const与C++中const的区别:8.类里的const和enum 下面的写法有什么问题吗?:9.类里面的const成员函数10.volatile关键字1.C和C++指针的最重要的区...原创 2019-07-03 16:28:52 · 990 阅读 · 0 评论 -
C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。在C语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。 要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入源代码,检查包含预处理指令的语句和宏...原创 2019-07-03 18:08:27 · 3024 阅读 · 0 评论 -
主参形参的区别
百度百科解释一、区别:1、函数定义方式不同形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。2、使用原理不同函数的形参列于函数声明中,在函数定义的函数体内使用。当函数调用时,形参(任何种类的)是一类将被填充的空白或是占位符。实参是用来填充形参的。当函数被调用时,形参列在函数名后面的括号里。执行函数调用时,...原创 2019-06-28 11:40:44 · 874 阅读 · 0 评论 -
||与&&与&与|与^与《与》的区别与用法
||与&&与&与|与^与《与》的区别与用法||的用法&&的用法&的用法|的用法^的用法~(按位取反)的用法<<的用法>>的用法综合应用&与&&的区别一、简要说明二、详细解释1&的额外用途(1)清零(2)取一个数中某些指定位(3)保留指定位:2|的额外用途3交换两个值,不用临时变量4、“取反”运算...原创 2019-07-03 21:19:59 · 2793 阅读 · 0 评论 -
C++构造函数
C++构造函数一、认识构造函数百度百科:构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。(好吧,咱也看不懂,直接干代码原创 2019-07-03 22:10:23 · 363 阅读 · 0 评论 -
C++析构函数
一、认识析构函数百度百科:析构函数(destructor) 与构造函数相反,当对象结束其生命周期,如对象所在的函数已调用完毕时,系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,delete会自动调用析构函数后释放内存)。(咱也看不懂,直接上代码)。这里我们来简单说说类的析构函数,它是类的一个成员函数,名字由波浪号加类名构成。看它的名字...原创 2019-07-03 22:21:50 · 802 阅读 · 0 评论 -
Xcode如何创建C++项目
转载自:http://book.51cto.com/art/201408/447441.htm用Xcode创建第一个C++程序运行Xcode,在主界面上选择Create a new Xcode project(也可以选择File|New|New Project…,或者按快捷键Shift-?-N)。此时会出现如下界面:选择在左边栏Mac OS 中的Application,然后选择Comman...转载 2019-05-20 10:13:39 · 8861 阅读 · 0 评论