自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

等闲的博客

仗剑走天涯

  • 博客(58)
  • 收藏
  • 关注

原创 回头再看C++

学习c++有段时间了,但是之前一直是在看书,看视频,效果不明显,这点很糟糕,尤其是面临找工作的小伙伴。之前我也是在找c++方面的工作,做了很多面试题,说实话,面试题还是很简单的,值得庆幸的是遇到了一个很好的程序员,面试的过程中交流了一番,收益良多。因为要做的工作涉及到很隐秘部分,所以工作的时候不能有网,全凭本事来进行敲代码,我想问下当下有多少人能做到呢?有多少人是没有网连一行代码都难写出来呢!这里包括工作3-4年的程序员,所以基础很重要,其实有没有网络的情况下看的都是基础。尤其是C++这门课,基础知识非

2020-10-06 13:10:45 1864 2

原创 学习中的感悟之 C++

c++对于我来说挺难学的,我属于大学毕业后才开始接触C++吧!有的时候挺后悔大学没选择计算机专业,这样今天也不用这么辛苦的去学很多基础,但是反过来,自己觉得也不错,毕竟你比别人经历的多,也算是一种收获吧,想开了,这个世界你用什么眼光去看,那这个世界就是什么样的,没有好坏,也没有值不值得,只要自己敢闯敢拼就可以。回眸一笑时内心是开心的就ok。痛苦在人的一生中是常态,所以没必要。。。这段时间一直在找工作,c++给了我人生一段不同的阅历。当被人拒绝时,内心挺不是滋味的!因为他们什么都没看到,就在那里妄自菲薄。

2020-09-26 03:15:21 271

原创 2、C++基础之

比较一下C和C++对于数据的管理:c语言靠函数去处理数据,而c++则是将数据与函数包在一起。C++的数据与函数:我门在设计类的时候一定要注意他的成员变量是否带有指针。我门设计的第一个·类Complex不带有指针,C++Program代码的基本组成: 1)C语言与C++语言头文件表示的不同之处:2)头文件防卫式声明综上说述就是为了写出大家风范的代码,一看就是专业的通过以上索要关注的几点:所设计的类的成员变量是否...

2020-09-25 02:21:04 190

原创 1、c++基础之class

前言:练就大家风范类class我们要区分学习:单个类:(叫基于对象) class with pointer members ---- Complex(Complex.h/Complex.cpp) class without pointer members ---- String(String.h / String.cpp)多个类:(面向对象)继承 复合 委托说一下C++进化史C++98(1.0版本) ...

2020-09-25 01:03:18 221

原创 用Socket API建立建议TCP服务端,客户端

用SocketAPI建立简易TCP服务端1、建立一个Socket2、绑定接收客户端的连接的端口 bind3、监听网络端口 listen4、等待接收客户端连接 accept5、向客户端发送一条数据 send6、关闭socketclosesocket用SocketAPI建立简易TCP客户端1、建立一个socket2、连接服务器connect3、接收服务器信息recv4、关闭socket closesocket...

2020-09-24 18:13:16 273

原创 4、socketAPI

在windows上和linux上实现基础socket()1、建立基础的socket网络工程。vs2017 ----》创建新的解决方案,helloSocket --- >空项目(利于跨平台)2、#include<windows.h>与#include<winSock2.h>这两个头文件存在宏定义的冲突,有两种解决办法:1)#include<winSock2.h>放在#include<windows.h>之前。交换二者顺序(不推...

2020-09-24 11:13:39 236

原创 3、安装配置SVN版本控制管理工具

SVN工具能帮我们做什么?核心功能:文档版本管理系统适合对象:个人与团队都可以使用,企业中项目资源的重要管理工具。举例:一个文件夹里的文当管理。1、下载安装SVN服务器VisualSVN-Server2、下载安装SVN客户端TortoiseSVN...

2020-09-24 10:46:00 89

原创 2、建立一个易于管理的Windows VC++工程

跟随引导建立一个WindowsC++程序 建立一个WindowsC++空项目:在控制台中输出HelloC++ 为什么不使用自动生成生成模板? 为什么我们要从空项目开始创建代码文件? 优化调整C++工程项目文件配置Win32控制台项目 ----》空项目创建项目 HelloCpp.pro 添加.cpp文件。#include<iostream>using namespace std;int main(void){ cout << "h...

2020-09-23 17:34:05 121

原创 c++百万并发第一集

开发工具:Windows:Windows10 +VS 20xxLinux:Linyx(ubuntu 16.0 64位)/GCC/Gedit编辑器Android:Windows 10 +VS2015 +NDK +JDK +ADT +ANTIOS/MacOS:MacOS(MacOS 10.12 64位) +Xcode9辅助工具:虚拟机VmwarePlay,代码管理工具SVN,等辅助开发工具。学习目标:1、掌握多平台c++程序的设计,编...

2020-09-23 11:47:59 263

原创 总结----string;string_view

c++为什么在C语言字符串的基础上还要创建string类???C风格字符串是以‘\0’ 结束。例如:char myString[ ] = "hello"; myString :strlen()函数不包含结尾符 ‘\0’。sizeof()关键字包含结尾符 ‘\0’。strlen()针对的是字符指针。sizeof()针对的是字符数组。例如:char *str = "abcdef";strlen(str); // 输出结果为6siezeof(str);...

2020-09-20 15:10:53 1023

原创 STL----vector

vector三要素:start;finish; end_of_shorage;start <<=====>> begin()finish <<=====>> end()end_of_storage <<==========>> capacity()iterator begin(){ return start;}iterator end(){ return fin...

2020-09-14 18:58:17 87

原创 总结---STL

STL六大部件容器 分配器 算法 迭代器 适配器 仿函数时间复杂度:O(1)或O(c):常熟时间 O(n):线性时间 O(nlog2N): O(log2N):次幂时间 O(n2):平方时间 O(n3):立方时间 O(2N):指数时间前闭后开区间[ )begin()指向第一个元素。end()指向最后一个元素的下一个元素。范围forfor( auto elem : v){ cout << elsem &l...

2020-09-14 17:03:36 113

原创 总结--内存 + 智能指针

在内存这块我们主要讨论一下几方面:C语言内存(new 、delete)、智能指针、内存泄漏C语言内存(new 、delete)在现代c++中,应该尽量避免使用底层内存,而是只用现代结构,例如容器、智能指针。mallo()、与new的区别malloc只负责申请你所指定的内存大小。而new不仅会分配正确的内存大小,还会调用相应的对象的构造函数以构建对象。free()和delete的区别使用free()时不会调用对象的析构函数,使用delete会调用对象的析构函...

2020-09-12 16:53:27 308

原创 总结-----继承和多态

之所以把继承和多态放在一起,是因为二者在关系上很难分开。继承的概念:在已有类的基础上创建新类。新类包含了原始类的数据成员和方法。创建新类的主要原因就是添加和替换功能。继承从两个方面去讨论:添加:扩展原有类的成员(变量和方法),在继承的基础上扩展继承的运行方式是单向的,父类与子类有着明确的关系,子类知道与父类的关系,但是父类不知道与子类的关系。其实这样记不好记,从内存的角度去记比较好记。从内存的大小上看很好区分。Father* p_father = new Son;

2020-09-11 23:46:43 349

原创 总结----重载

看过很多遍重载重载重载重载重载重载,但是就是不会(不能用自己的语言去完美的描述)。这是一个很糟糕的地现象。总结至关重要:概念要清晰:重载定义:严格意义上来讲,重载应该叫重载函数,因为只有函数才可以重载,你不可能把int a;int b;你不能把a,和b这两个变量看做是重载吧,所以记住以后没有重载这个词,全称叫重载函数。重载函数定义:如果在同一作用域内如果几个函数的名字相同,但是参数列表不同,我们叫这几个函数为重载函数。重载函数是相对的概念,什么意思,就...

2020-09-11 13:47:45 200

原创 这是人生第二次面试

这是人生第二次面试:没有面试经验真可怕这是第二次面试,面试前很忐忑,知识面很多,尤其c++,不知道面试官要问哪方面?我为了有一个好的结果(对于自己来说),我没有去可以准备,目的就是验证一下自己,面试官问的很简单,但是我回答的不好。我总结了两点:1、项目上:这个我觉得就是自己发挥,想到啥说啥,先不管对错。2、知识上:知识是死的,这点很好过,但是通过这次面试,我觉得总结了一个学习之道。学会总结很关键,学会对比很关键,通过面试来反馈的问题。面试官会问:重载与多态区别,我当时脑子已.

2020-09-11 11:08:45 144

转载 (传输层)TCP协议

首部格式图释:各个段位说明:源端口和目的端口:  各占 2 字节.端口是传输层与应用层的服务接口.传输层的复用和分用功能都要通过端口才能实现 序号:  占 4 字节.TCP 连接中传送的数据流中的每一个字节都编上一个序号.序号字段的值则指的是本报文段所发送的数据的第一个字节的序号 确认号:  占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号 数据偏移/首部长度:  占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远.“数据偏移”的单位是

2020-06-17 17:37:22 541

原创 文件IO(系统IO)

文件IO(系统IO)文件描述符(fd)是在文件IO中贯彻适中的类型。文件描述符的概念:实质是一个整形数,文件描述符优先使用当前可用范围内最小的一个。说到stream首先想到的是stdio、stdout、stderr、说到fd首先想到的是0、1、2文件描述符的操作:open、close、read、write、lseek标准IO基于系统IO将文件IO与系统IO区别:IO的效率问题:文件共享:原子操作:程序中的重定向:d...

2020-06-17 00:29:46 454

原创 缓冲区

缓冲区的作用:大多数情况下是好事,合并系统调用。行缓冲:换行时刷新,满了的时候刷新,强制刷新(标准输出是这样的,因为是终端设备)全缓冲:满了的时候刷新,强制刷新(默认,只要不是终端设备)无缓冲:如stderr,需要立即输出的内容setvbuf临时文件:1、如何不冲突的创建文件2、及时销毁tempnam:tempfile:...

2020-06-16 14:53:32 239

原创 操作系统的中打开文件的最大句柄数

LINUX系统中:1、使用/proc文件系统来控制系统/proc/sys/fs/proc/sys/fs/file-max该文件指定了可以分配的文件句柄的最大数目。如果用户得到的错误消息声明由于打开文件数已经达到了最大值,从而他们不能打开更多文件,则可能需要增加该值。可将这个值设置成有任意多个文件,并且能通过将一个新数字值写入该文件来更改该值。缺省设置:40962、/proc/sys/fs/file-nr该文件与 file-max 相关,它有三个值: 已分配文件句柄的数目已使用文件句柄

2020-06-15 21:11:57 1808

原创 QT2020

QT跨平台界面编程及原理第一章 介绍Qt环境准备QT源码和SDK下载QT安装项目目录windows下调式安装配置QTCreator调式VS + QT项目配置第一章 介绍版本5.9:长期维护版本Qt环境准备QT源码和SDK下载QT官网地址QT下载地址老夏课堂下载地址QT安装注意:自5.15版本之后不提供离线安装,只能在线只安装。QT5.15在线安装地址项目目录最好再加一个版本管理器。QT路径不要有中文。xx.pro.user文件为项目配置文件。moc_xx文件是信号槽生成文件。

2020-06-12 23:38:07 447

原创 Python——序列

Python之序列序列序列——索引序列1、序列-》数据存储方式-》数据结构。2、python->列表(list)、元祖(tuple)、字典(dictionary)、集合(set)、字符串3、序列是一块用于存放多个值的连续内存空间,并且按一定顺序排放,可以通过索引取值。4、索引、序列相加、切片、乘法、检查某个元素是否是序列成员、计算序列的长度、最大值和最小值。序列——索引索引就是一个编号。从0开始。...

2020-06-10 08:50:05 109

原创 Python_序列-索引

Python_序列-索引

2020-06-09 23:41:09 417

原创 在Anaconda中把python环境更新更高版本

开始->Anaconda Promot 在Anaconda Promot中,输入: conda update conda conda update anaconda conda update python完成之后,pycharm->File->Setting找到对应的anaconda下的python.exe添加为新的解释器,此时该新添加的解释器就显示为python3.6版本了。...

2020-06-09 23:13:46 4297

原创 头文件的重复包含问题

为了避免同一文件被include多次,有两种方式 #ifndef __SOMEFILE_H__#define __SOMEFILE_H__......#endif 使用宏来防止同一个文件被多次包含; 优点:可移植性好;缺点:无法防止宏明重复,难以排错; 2.#pragma once使用编译器来防止同一文件被多次包含;优点:可以防止宏名重复,易排错;缺点:可移植性好; ...

2020-05-25 17:51:51 588

原创 数组

2020-05-18 18:45:35 93

原创 补码

1、机器数:一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号位,整数为0,负数为1.2、真值:真正数学意义上的数值。因为第一位是符号位,所以机器数的形式值就不等于真正的数值。3、计算补码的方式:对于正数:直接安位计算加权求和对于负数:保留符号位位,对后面每位取反+1。4、计算机为什么选择补码:...

2020-05-18 11:22:59 143

原创 运算符

1、逻辑运算符:&& || !摩根定律:

2020-05-18 08:49:47 102

原创 算术运算符

1、加、减、乘、除、取余、自加、自减注意:除法运算符:浮点数除以整数等于浮点数整数除以浮点数等于浮点数整数除以整数等于整数(不会出现小数)取余运算符:A%BA与B必须都是整数。...

2020-05-18 08:48:28 285

原创 变量与常量

1、c++中有两种简单的定义常量的方法:1>.使用#define,如:#defien PI 3.14159262>.使用const ;如:const double PI = 3.14;注意尽量使用const定义常量。因为#define不会出现在编译器期。无法检查语法语义的错误。整数常量可以带一个后缀,后缀是U和L的组合,U表示无符号整数,L表示长整数。后缀可以是大写,也可以是小写,U和L的顺序任意。2、整数常量:212 ...

2020-05-17 23:30:10 248

原创 命名的一般规则

1、变量的命名的一般规则:1>.长度尽量小,信息良要够。2>.变量的名字尽量使用“”名词“”或“”形容词 + 名词“”。如:value或newValue3>.函数尽量使用“动词+名词”。如DrawGraph4>.命名规则可以参考如微软的匈牙利命名方法,如驼峰式命名法简要说明:匈牙利命名:开头字母用变量类型的缩写,其余部分用变量的英文或英文缩写要求单词第一个字母大写,如 intiMyAge;驼峰法:第一个单词首字母小写,后面其它单词手字母大写如: in...

2020-05-17 23:14:36 1019

原创 C++常见数据类型定义

常见数据类型定义:char str[10] = "hello world";short int s =97;int m = 97;long int n = 54;float f = 97.0f;dpuble d = 97.1;long double k = 97.0;bool b = true;wchar_t w[10] = L"a";

2020-05-17 19:02:48 549

原创 编译和链接过程

对于编译型语言:

2020-05-17 18:18:19 85

原创 C++中 没有数据成员的类的对象所占的内存空间大小问题

情况一:没有继承关系在C++中,我们常常遇到一个类的对象在内存中所占存储空间大小的问题。现在将自己知道的东西罗列如下:class test { public: (void) test() {} (void)~test() {} private: }对于上面的类的对象进行求sizeof()。得到的结果是 1。原因是,对于一个没有数据成员的类对象来说,如果不给其分配存储控件的话,那么该类的所有对象都是一样的。就没有办法区分该类的对象。所以编译器在内存中会为本类..

2020-05-15 09:04:01 820

原创 内联函数(inline function)那些事

内联函数(inline)内联函数对于一般的人来说,没什么可讲的,就那么回事(反正就有那种说不清的感觉)。有这种想法的人似乎和我一样都是菜鸟级别的吧!今天看到一个面试题:讲一下内联函数的含义:(面试题)将以下代码改为C语言代码,...

2020-05-07 21:47:01 702

原创 全局变量定义在头文件中所引起的冲突

验证:工具VS2019,需要源文件三个,分别为"head.h" 、 "1.cpp" 、"2.cpp"head.h#pragma onceint g_num = 10; // 定义的全局变量1.cpp#include "head.h"int main(void){ return 0;}2.cpp#include...

2020-05-03 11:29:25 566

原创 第二课:this指针

#include<iostream>using namespace std;class A{public: int m_a = 1; A() { printf("A的指针this地址%p\n", this); }};class B{public: int m_b = 1; B() { printf("B的指针this地址%p\n", th...

2020-04-22 21:10:34 113

原创 第一课:类或对象所占空间

2-1、2-2类和对象所占空间大小#include<iostream>using namespace std;// 空类所占空间大小class A{};// 对象里只有一个普通的char型成员变量class B{ char ch;};// 对象里只有一个普通的char型和一个普通的int型成员变量class C{ char c...

2020-04-22 14:21:24 146

原创 第一章:第二节:从工程角度去了解C++

一、编写一个简单的C++程序vs2019一个解决方案有多个项目。#include <iostream>int main(void){ return 0;}1)main()函数是整个程序入口,系统是从main()函数开始执行,想一些图形界面程序我们看不到main()函数字样,是因为它被封装起来了。2)return 返回值,在windows中几乎没用,在l...

2020-04-03 12:32:47 131

原创 第一章:第一节:先从整体上去认识C++,它带给了我们什么?

大部分人对C语言与C++的关系有不同的看法,有的人认为C++是C语言的一种升华,有的则认为他们是两种完全不同的语言。其实这个问题,我觉得较真是毫无意义的,因为每个人的水平能力不同认知就会不同,对于我个人来说,在刚开始学C++的时候,尤其是刚学到基于对象的时候,心里想“哦操,谁这完全是两种语言,C语言的思维压根用不上,一用就懵逼!”。当时脑袋转不过来,因为C语言的思维方式(顺序结构)根深蒂固,一开始...

2020-04-02 21:21:18 148

空空如也

空空如也

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

TA关注的人

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