2 douguailove

尚未进行身份认证

让不可能变成可能,让可能变成超越期待

等级
TA的排名 4w+

python中的import、from import以及import as的区别

首先介绍一下import和include的区别或者说import相对include的好处:import导入的内容只会被包含一次,在引入之前会检测是否已经存在该模块,不存在才会被引入,而include是不会做判断的。使用import在递归包含的时候不会出错,不会引起交叉编译的问题。此外,使用include引入头文件对其引入顺序也有一定的要求。importimport是python提供的...

2019-07-02 22:18:48

Debug和Release的区别以及obj文件的作用

Debug和Release的区别Debug:调试版本,包含调试信息,所以容量比release大很多,并且不进行任何优化,(优化会使调试复杂化,因为进行优化肯定会进行一些额外的处理,这样就导致了源代码和生成的指令间关系变得更加复杂),便于程序员调试。Debug模式下生成两个文件,除了.exe或.dll文件外,还有一个.pdb文件,该文件记录了代码中断点等调试信息。Release:发...

2018-08-24 11:15:28

vim常用的功能

vim是vi的升级版本,它兼容vi的所有指令,而且还有一些新的特性,比如说预付高亮、可视化操作不仅可以在终端进行,还可以在xWindow、macos、windowsvim有多种模式,我们常用的有三种:命令模式、插入模式、末行模式。进入插入模式的三种方式:i:从光标当前位置开始插入a:从光标所在位置的下一个位置开始输入文字o:插入新的一行,从行首开始输入文字。命...

2018-08-24 10:45:37

命令行选项解析函数(C语言):getopt()和getopt_long()

关于命令行参数的解析函数,看到一篇写的很详细的博客,分享给大家。原链接点这里https://www.cnblogs.com/chenliyang/p/6633739.html上午在看源码项目webbench时,刚开始就被一个似乎挺陌生函数getopt_long()给卡住了,说实话这函数没怎么见过,自然不知道这哥们是干什么的。于是乎百度了一番,原来是处理命令行选项参数的,的确,正规...

2018-08-22 10:35:20

HTTP报头中为cookie服务的首部字段

Cookie的工作机制是用户识别和状态管理。Web网站为了管理用户的状态,会通过Web服务器,把一些数据临时写入用户的计算机内。当用户访问该Web网站时,可通过通信方式取回之前存放的Cookie。调用Cookie是,由于可校验Cookie的有效期,,以及发送方的域、路径、协议等,所以正规发布的Cookie内的数据不会因为来自其他Web站点和攻击者的攻击而泄漏。Set-Cookie字段的属性...

2018-08-20 13:17:45

HTTP的状态码

摘自图解HTTP第4章当客户端向服务器端发送请求时,通过状态码可以知道自己的请求结果。状态码的类别接下来介绍一下常用的状态码2XX成功200(OK)请求已经正常处理表示从客户端发来的请求已经被服务器正常处理了。204(NoContent)请求处理成功,但是没有资源可返回。表示服务器已经成功处理,但在返回的响应报文中不含实体的主体部分。另外,也...

2018-08-20 09:34:58

求一个数组中和为sum的方法数

题目描述给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数。当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案。这是一道简单的动态规划题目,困惑了我好久,今天终于搞明白了,分享给大家。这道题使用递归的方式做OJ是过不了的,时间复杂度太高了,我们来看看使用动态规划怎么解决。#include<iostream>usi...

2018-08-19 21:25:41

动态规划---求最长公共子序列

直接看题:对于两个字符串,请设计一个高效算法,求他们的最长公共子序列的长度,这里的最长公共子序列定义为有两个序列U1,U2,U3…Un和V1,V2,V3…Vn,其中Ui&ltUi+1,Vi&ltVi+1。且A[Ui]==B[Vi]。给定两个字符串A和B,同时给定两个串的长度n和m,请返回最长公共子序列的长度。保证两串长度均小于等于300。题意就是说,给出两个字符串,...

2018-08-19 19:55:37

GET和POST的区别

转载自:https://www.cnblogs.com/logsharing/p/8448446.html很不错的一篇文章,推荐大家看看~下表是参考自w3school的标准答案接下来更具体的去了解它们的区别。GET和POST都是HTTP协议中的两种发送请求的方法。HTTP协议是基于TCP/IP实现的关于数据如何在万维网中如何通信的协议。HTTP的底层是TCP/IP。那么...

2018-08-13 10:02:17

Effective C++读书笔记----自定义类型的传参和返回值问题

对于自定义类型,传参的时候尽可能的使用传引用来代替传值。看如下这个例子:#include<iostream>usingnamespacestd;#include<string>classPerson{public:Person()//默认的构造函数,如果不给,没法通过编译,因为在创建一个派生类的对象是需要调用。{...

2018-08-05 13:18:13

Effective C++ 读书笔记----接口和类的设计

设计接口时要让接口容易被正确使用,不易被误用。应该让接口具有如下这些性质:“促进被正确使用”,接口的一致性(比如STL中各个容器的接口)以及与内置类型的行为兼容。自定义的类型支持的操作尽量与内容类型的使用保持一致。“阻止误用”的办法包括建立新类型、限制类型上的操作,束缚对象值,以及消除对象的资源管理责任。消除对象的资源管理责任。比如说,如果某个函数返回一个指向动态开辟的内存的指针,要求调...

2018-08-05 09:59:23

Effective C++读书笔记----资源管理

C++中,我们自己申请的资源,需要我们手动的释放。有时候我们给了显示释放资源的语句,但是存在有些意外情况导致释放语句没能成功被执行。比如说在执行释放语句前函数提前返回;假如释放语句在一个循环内部,循环因为continue或者break提前结束;执行释放语句之前程序抛异常了。为了防止资源泄漏,请使用RAII对象(资源获得即初始化),他们在构造函数中获取资源,并在析构函数中释放资源。auto_...

2018-08-04 11:15:07

Effective C++读书笔记----构造/析构/赋值运算

对于一个空类,编译器会自动创建构造函数、拷贝构造函数、赋值运算符重载以及析构函数。(当然只有在这些函数在被调用的时候才会被编译器创建出来)如果我们在类中显示的声明了这些函数,编译器将不再自动生成这些函数。当类的成员变量中有引用类型或者有const修饰,编译器不会为该类生成赋值运算符重载函数,尽管该类并没有显示的声明赋值运算符重载。想要防止拷贝可以显示声明拷贝构造函数,并将其设为私有,并且,只...

2018-07-30 18:14:52

Effective C++读书笔记---让自己习惯C++

*声明式是告诉编译器某个东西的名称和类型。*签名式是指参数和返回值。一个函数的签名等同于该函数的类型(C++对签名式的官方认定不包括返回值)*将函数声明为explicit,可以阻止他们被用来执行隐式转换,但他们仍可以用来进行下你是类型转换*其他静态成员只能在类里边进行声明,类外进行初始化。格式为:类域::类型变量名=初始值*类的静态常量成员可以在类里边进行初始...

2018-07-29 16:53:47

函数&指针&数组混搭

整型变量inta;a是一个整型变量指针变量int*p;p是一个指向整型的指针整型数组intarr[]arr是一个数组,数组的每一个元素都是一个整型指针数组int*parr[]数组指针int(*p)[]p是一个指针,指向一个数组。p先和*结合,表明它是一个指针,然后指向的是一个整型数组,所以,p是一...

2018-07-27 21:50:22

C语言中的操作符

首先讲述一下两个概念:左值和右值左值就是能够出现在赋值运算符左边的东西,右值就是能够出现在赋值运算符右边的东西算数操作符(+- * / %)除了%操作符,其他几个操作符都可以作用于整数和浮点数。 对于/操作符,如果两个操作数都是整数,则做整数除法。只要其中有一个是浮点数,就做浮点数除法。 %操作符的两个操作数必须是整数。移位操作符(<< >...

2018-07-25 17:13:28

C语言预备知识

C语言的特点:高效、灵活、功能丰富、表达力强和较高的可移植性#include<stdio.h>和#include"stdio.h"的区别查找路径不一样。#include预处理指令用于把这个文件包含到需要使用这些声明的源文件中。#include<stdio.h>直接到设置的include环境变量里查找。#include"stdio.h"现在当...

2018-07-24 09:42:11

内存的分区与数据的存放

典型的存储器安排(Linux下的内存分配)栈区:由编译器自动分配与释放。用于存放局部变量、函数参数、函数返回值。特点:效率高,但空间大小有限。堆区:使用malloc或者new开辟的空间都是在堆上分配的,需要程序员显示地释放。如果没有释放,在程序运行结束时可能由OS回收。特点:使用灵活,空间较大,但容易出错。BSS:没有进行未初始化操作的全局变量和静态变量放在该区,会被自动初始化为0...

2018-07-23 19:34:58

编译和链接的过程

程序要运行起来,必须要经过四个步骤:预处理、编译、汇编和链接。接下来通过几个简单的例子来详细讲解一下这些过程。对于上边用到的几个选项需要说明一下。使用gcc命令不跟任何的选项的话,会默认执行预处理、编译、汇编、链接这整个过程,如果程序没有错,就会得到一个可执行文件,默认为a.out-E选项:提示编译器执行完预处理就停下来,后边的编译、汇编、链接就先不执行了。-S选项:提示编...

2018-07-22 23:08:24

vector中常见接口的介绍与使用

迭代器相关iteratorbegin();正向迭代器:返回一个迭代器,指向vector对象的第一个元素iteratorend();正向迭代器:返回一个迭代器,指向vector对象最后一个元素的后边reverse_iteratorrbegin();反向迭代器:返回一个迭代器,指向vector对象最后一个元素reverse_iteratorrend();反向迭代器:返回一个迭代器,指向vect...

2018-07-16 12:34:16

查看更多

勋章 我的勋章
    暂无奖章