c/c++
li_wei_quan
这个作者很懒,什么都没留下…
展开
-
一个Sqrt函数引发的血案
我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢?虽然有可能你平时没有想过这个问题,不过正所谓是“临阵磨枪,不快也光”,你“眉头一皱,计上心来”,这个不是太简单了嘛,用二分的方法,在一个区间中,每次拿中间数的平方来试验,如果大了,就再试左区间的中间转载 2017-10-07 09:04:50 · 341 阅读 · 0 评论 -
C++ regex 正则表达式的使用
原文链接:https://blog.csdn.net/mycwq/article/details/18838151在c++中,有三种正则可以选择使用,C ++regex,C regex,boost regex ,如果在windows下开发c++,默认不支持后面两种正则,如果想快速应用,显然C++ regex 比较方便使用。文章将讨论C++ regex 正则表达式的使用。C++ regex函...转载 2018-08-22 17:22:59 · 1950 阅读 · 0 评论 -
结构体字节对齐
在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对 于任何 变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列, 而不是简单地顺序排列,这就是内存对齐。 内存对齐的原因: 1)某些平台只能在特...转载 2018-08-11 22:52:55 · 184 阅读 · 0 评论 -
『腾讯后台开发』实习生技能要求
『腾讯后台开发』实习生技能要求如题,应届生除了要良好地掌握算法和数据结构以外,以下一些技能点列表希望对大家有帮助,有兴趣的朋友可以参考这个针对性地补缺补差。文章列出的技能点有的要求熟悉,有的了解即可,注意技能点前面的修饰词。如果没有明确给出“熟悉”“了解”等字眼,要求均为熟悉。一、操作系统方面 多线程相关与线程之间同步技术 熟练使用(但不局限于)以下linux APIli...转载 2018-07-26 16:29:25 · 1880 阅读 · 0 评论 -
调试技巧之调用堆栈 - Call stack
调试技巧之调用堆栈 - Call stack原文链接:https://blog.csdn.net/zhg598242449/article/details/7591123简单介绍 调试是程序开发者必备技巧。如果不会调试,自己写的程序一旦出问题,往往无从下手。本人总结10年使用VC经验,对调试技巧做一个粗浅的介绍。希望对大家有所帮助。 今天简单的介绍介绍调用堆栈。调用堆栈在我的专栏的文章VC...转载 2018-07-02 21:59:02 · 4934 阅读 · 0 评论 -
阿里巴巴在线笔试编程题2题
前言:上周五参加了阿里巴巴的在线笔试,包含半小时10条选择题和一小时2条编程题。题目1:有两个非负数a和b,求两者的和。注意a和b可能是小数,输出结果不包含多于的0。输入:12.3 5输出:17.5参考代码:#include<iostream>#include<string>using namespace std;string first, second, ans;...原创 2018-05-14 15:48:36 · 9535 阅读 · 11 评论 -
2017年第八届“蓝桥杯”国赛B组C/C++ 个人题解
前言:我参加了今年第八届的蓝桥杯国赛,只拿了个优秀奖,伤心。官方也没有公布试题和答案,在网上搜索了很久都没有找到蓝桥杯国赛的题目。突然有了一个不自量力的想法,趁还有一点记忆,把题目记录下来,并且附上自己的做法。第一题:36进制题意:用类似16进制的表示办法,A表示10,B表示11,……,Y表示25,Z表示26,再加上0到9,就可以表示为36进制。那么请问MANY对应的十进制数是多少...原创 2017-05-31 21:41:54 · 3000 阅读 · 2 评论 -
为什么C++调用空指针对象的成员函数可以运行通过
先看一段代码:#include <iostream>using namespace std; class B {public: void foo() { cout << "B foo " << endl; } void pp() { cout << "B pp" << endl; } void Funct原创 2018-04-03 19:52:03 · 1122 阅读 · 2 评论 -
C语言的易错点
重新将C语言的知识点看了一遍,把自己遗忘以及容易出错的知识点记录下来。各个知识点之间没有什么联系。 定义变量时,我们使用了诸如"a" "abc" "mn12"这样的名字,它们都是程序员自己起的,一般能够表达出变量的作用,这叫做标识符(Identifier)。标识符只能由字母(A-Z,a-z)、数字(0-9)和下划线(_)组成,并且第一个字符必须是字符或下划线。 使用标识符的注意事项:...原创 2018-04-02 21:47:28 · 1798 阅读 · 2 评论 -
printf以%d形式输出浮点数的问题
若运行时从键盘上输入9876543210l,则下面程序的输出结果是#include<stdio.h>int main(){ int a; float b,c; scanf("%2d%3f%4f",&a,&b,&c); printf("\na=%d,b=%d,c=%f\n",a,b,c); return 0}A.a=98,b=76...转载 2018-04-08 12:45:53 · 7364 阅读 · 1 评论 -
C/C++框架和库
值得学习的C语言开源项目Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz2105...转载 2018-03-19 18:19:11 · 291 阅读 · 0 评论 -
windows环境下用c++实现socket编程
一、什么是Socketsocket即套接字,用于描述地址和端口,是一个通信链的句柄。应用程序通过socket向网络发出请求或者回应。sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);前两种较常用。基于TCP的socket编程是采用的流式套接字。(1)SOCK_STREAM表示面向连接的数据传输方式。数据可...转载 2018-03-23 12:52:18 · 1837 阅读 · 0 评论 -
Linux下进行C/C++编程
从网上找到了一个叫做slax的Linux系统,体积只有200多M。它是基于Debian的。 在U盘里解压镜像,然后双击一个bat文件把系统装在U盘里了,以后不用的时候直接把整个文件删掉就行了。开机时设置U盘优先启动,就可以使用这个系统了,免去了装多系统的麻烦。不过,我怎么也不知道如何开启及连接WIFI,按Fn+WIFI开关不行,只能连网线来上网。另外,安装中文字体失败,打开浏览器网页显示不了中文...原创 2018-03-09 08:01:05 · 14566 阅读 · 0 评论 -
C++之指向数据成员的指针和指向成员函数的指针
这里 指向数据成员的指针 和 指向成员函数的指针 与 指向变量的指针 和 指向函数的指针 进行对比来解释,比较好理解一些。指向变量的指针和指向函数的指针先举个例子:void func(int a, int b){ cout " " << b << endl;}int main(){ int a = 10, b =20; int *p = &a; //转载 2018-01-29 19:21:10 · 411 阅读 · 0 评论 -
C++ string中的几个小陷阱,你掉进过吗?
C++开发的项目难免会用到STL的string,使用管理都比char数组(指针)方便的多,但在得心应手的使用过程中也要警惕几个小陷阱,避免我们项目出bug却迟迟找不到原因。转载 2018-01-04 20:36:35 · 226 阅读 · 0 评论 -
C++ 友元friend的使用
1、为什么要引入友元函数:在实现类之间数据共享时,减少系统开销,提高效率 具体来说:为了使其他类的成员函数直接访问该类的私有变量 即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数 优点:能够提高效率,表达简单、清晰 缺点:友元函数破环了封装机制,尽量不使用成员函数,除非不得已的情况下才使用友元函数。转载 2017-10-14 23:04:13 · 429 阅读 · 0 评论 -
关于C++ const 的全面总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性。const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、const作用 如下表所示:No.作用说明参考代码1可以定义const常量转载 2017-10-14 17:38:40 · 193 阅读 · 0 评论 -
C++中不能重载的运算符
C++中不能重载的运算符有5个,分别为:“?:” “.” “::” “sizeof” “.*” 。 重载:让操作符可以有新的语义,而不是更改语法,否则会引起混乱。 重载的部分规则:运算函数的参数至少有一个必须是类的对象或者是类的对象的引用。下面来i解释一下为什么这几个运算符不能进行重载。(1)?:假设可以重载,那么我们来看下列的代码:exp1 ? exp2 : exp3该运...转载 2018-12-26 20:23:32 · 15593 阅读 · 0 评论