随笔分类 -  C/C++

摘要:转自GCC 静态库和动态库//hello.c#include void print_hello(){ printf("HelloWorld ");}//main.c#include#include "hello.h"int main(){ print_hello(); printf("... 阅读全文
posted @ 2014-11-18 20:35 Noble_ 阅读(203) 评论(0) 推荐(0)
摘要:转自利用牛顿迭代法自己写平方根函数sqrt给定一个正数a,不用库函数求其平方根。 设其平方根为x,则有x2=a,即x2-a=0。设函数f(x)= x2-a,则可得图示红色的函数曲线。在曲线上任取一点(x0,f(x0)),其中x0≠0那么曲线上该点的切线方程为 (1-1) 求该切线与x轴的交点得 (1... 阅读全文
posted @ 2014-11-06 16:49 Noble_ 阅读(738) 评论(0) 推荐(0)
摘要:转自一个Sqrt函数引发的血案我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢?虽然有可能你平时没有想过这个问题,不过正所谓是“临阵磨枪,不快也光”,你“眉... 阅读全文
posted @ 2014-11-06 16:45 Noble_ 阅读(1208) 评论(0) 推荐(1)
摘要:转自C++函数中那些不可以被声明为虚函数的函数常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。1、为什么C++不支持普通函数为虚函数?普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编译器会在... 阅读全文
posted @ 2014-11-02 21:59 Noble_ 阅读(1725) 评论(1) 推荐(0)
摘要:转自通过金矿模型介绍动态规划对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅... 阅读全文
posted @ 2014-10-31 17:26 Noble_ 阅读(294) 评论(0) 推荐(0)
摘要:转自互斥锁Mutex与信号量Semaphore的区别多线程编程中,常常会遇到这两个概念:Mutex和Semaphore,两者之间区别如下:有人做过如下类比:Mutex是一把钥匙,一个人拿了就可进入一个房间,出来的时候把钥匙交给队列的第一个,一般的用法是用于串行化对临界区代码的访问,保证这段代码不会被... 阅读全文
posted @ 2014-10-28 16:11 Noble_ 阅读(640) 评论(0) 推荐(0)
摘要:转自c/c++强制类型转换Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?A:转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使用传统的类型... 阅读全文
posted @ 2014-10-27 22:38 Noble_ 阅读(236) 评论(0) 推荐(0)
摘要:转自c++中的隐藏、重载、覆盖(重写)1 重载与覆盖成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;... 阅读全文
posted @ 2014-10-26 22:05 Noble_ 阅读(223) 评论(0) 推荐(0)
摘要:转自运算符重载详解1.运算符重载定义:C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的... 阅读全文
posted @ 2014-10-24 16:19 Noble_ 阅读(259) 评论(0) 推荐(0)
摘要:转自C++ static、const和static const 以及它们的初始化const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间。 static表示的是静态的。类的静态成员函数、静态成员变量是和类相关的,而不是和类的具体对象相关的。即使... 阅读全文
posted @ 2014-10-22 22:18 Noble_ 阅读(586) 评论(0) 推荐(0)
摘要:转自说出static和const关键字尽可能多的作用 static关键字至少有下列n个作用:函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访... 阅读全文
posted @ 2014-10-22 19:10 Noble_ 阅读(266) 评论(0) 推荐(0)
摘要:转自探索c++的底层机制在看这篇文章之前,请你先要明白一点:那就是c++为我们所提供的各种存取控制仅仅是在编译阶段给我们的限制,也就是说是编译器确保了你在完成任务之前的正确行为,如果你的行为不正确,那么你休想构造出任何可执行程序来。但如果真正到了产生可执行代码阶段,无论是c,c++,还是pascal... 阅读全文
posted @ 2014-10-22 12:37 Noble_ 阅读(302) 评论(0) 推荐(0)
摘要:转自const变量的存储区及修改权限[cpp]view plaincopyconstinta=1;int*p=const_cast(&a);*p=2;cout<<“valuea=”<<a<<endl;cout<<“value*p=”<<*p<<endl;cout<<“addressa=”<<&a<<... 阅读全文
posted @ 2014-10-21 22:18 Noble_ 阅读(1147) 评论(0) 推荐(0)
摘要:转自c语言的自动类型转换自动转换遵循以下规则:1)若参与运算量的类型不同,则先转换成同一类型,然后进行运算。2)转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。a.若两种类型的字节数不同,转换成字节数高的类型b.若两种类型的字节数... 阅读全文
posted @ 2014-10-20 15:01 Noble_ 阅读(403) 评论(0) 推荐(0)
摘要:转自编程珠玑(五):寻找变位词1.问题描述今天的问题是关于变位词的,首先来看问题的描述:给定一本英语单词词典,请找出所有的变位词集。所谓的变位词是指,组成各个单词的字母完全相同,只是字母排列的顺序不同。比如,pots、stop、tops就是变位词。2.解决思路思路一对组成单词的字母进行组合,针对每一... 阅读全文
posted @ 2014-10-14 14:18 Noble_ 阅读(668) 评论(0) 推荐(0)