- 博客(31)
- 资源 (1)
- 收藏
- 关注
转载 C语言内存分区
计算机的内存空间主要分为三个区:系统程序区、应用程序区和数据区,其中数据区又分为系统程序数据区和应用程序数据区两类。大家在学习过程中编制的C语言程序就属于应用程序,程序代码本身存放在程序区,而程序运行时所需变量的存储空间则在应用程序数据区分配,该数据区又分为静态数据区、堆栈区和堆区三种,程序运行时所需要的不同存储属性的变量将分别分配在这三个区以及寄存器区。计
2015-08-31 20:02:02 692
转载 函数调用--函数栈
转载自函数调用--函数栈函数调用大家都不陌生,调用者向被调用者传递一些参数,然后执行被调用者的代码,最后被调用者向调用者返回结果。还有大家比较熟悉的一句话,就是函数调用是在栈上发生的,那么在计算机内部到底是如何实现的呢? 对于程序,编译器会对其分配一段内存,在逻辑上可以分为代码段,数据段,堆,栈:代码段:保存程序文本,指令指针EIP就是指向代码段,可读可执行不可写数据段
2015-08-31 17:46:25 1132
转载 C++如何取得int型的最大最小值
当题目涉及到求最大最小值时,最初的比较数字就应当设置为INT_MAX或INT_MIN,更为安全。中有INT_MAX和INT_MIN的宏定义可直接使用。或者自行定义宏#defineINT_MAX 0x7fffffff#defineINT_MIN 0x80000000INT_MAX = 2147483647INT_MIN = -214748364
2015-08-31 11:01:18 1227
原创 C++程序的编译和运行
1.1.1.Compiling and Executing Our Program编译和执行我们的项目Having written the program, we need to compile it. How you compile a programdepends on your operating system and compiler. For details on h
2015-08-22 21:59:24 1025
转载 C++中的set_new_handler和new_handler 【未完待续】
转载自:c++中的set_new_handler和new_handler详细可参考 《effective c++》第三版 条款49:了解new_handler的行为相关链接:http://blogold.chinaunix.net/u/3374/showart_1849816.html 当operator new申请一个内存失败的时候,它会进行如下的处理步骤: 1、
2015-08-21 16:19:55 425
转载 C++友元类【未完待续】
转载自:C++之“友元类”学习笔记=======================什么是友元类======================= 当一个类B成为了另外一个类A的“朋友”时,那么类A的私有和保护的数据成员就可以被类B访问。我们就把类B叫做类A的友元。=======================友元类能做什么=======================
2015-08-20 18:09:12 481
转载 C/C++经典源代码网站
转载自:C/C++经典源代码网站50个c/c++源代码网站C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。1、http://snippets.dzone.com
2015-08-19 16:30:52 961
转载 visual studio与visual c++ 6.0的区别
Visual Studio支持多种语言,Visual C++ 6.0 只支持C和C++Visual C++ 6.0 是Visual Studio 6.0的一个组成部分,Visual Studio 6.0中还包括Visual Basic 6.0、Visual Foxpro 6.0和Visual J++ 6.0。之后的版本不再支持Visual Foxpro,而且新增加了C#
2015-08-19 11:23:27 21308 1
转载 关于visual c++6.0【未完待续】
Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C++.NET(Visual C++7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.
2015-08-19 11:21:53 1134
转载 C++模板类详解
一、类模板定义及实例化1. 定义一个类模板:templateclass 类名{// 类定义......};其中,template 是声明类模板的关键字,表示声明一个模板,模板参数可以是一个,也可以是多个,可以是类型参数 ,也可以是非类型参数。类型参数由关键字class或typename及其后面的标识符构成。非类型参数由一个普通参数构成,代表模板定义中的一
2015-08-19 10:15:42 939
转载 关于学习c++和编程的50个观点
关于学习c++和编程的50个观点:把c++当成一门新的语言学习(和c没啥关系!真的。);看《thinking in c++》,不要看《c++变成死相》;看《the c++ programming language》和《inside the c++ object model》,不要因为他们很难而我们自己是初学者所以就不看;不要被vc、bcb、bc、mc、tc等词汇所迷惑——他
2015-08-19 09:45:58 537
转载 codeblocks进行C++开发 向工程中添加Class 发生编译错误:"No such file or directory" 解决方案
原文地址:向CodeBlocks的Project中添加class文件时,出现No such file or directory错误的解决方案我们在CodeBlocks中编写程序时,一般要建立工程。现在建立工程first,然后建立类文件Person,并将其添加到first中,int main(){ Person p; p.display(); return 0;
2015-08-19 09:33:19 7985 1
转载 霍纳法则在多项式求值中的应用
在信息学奥赛中,我们有时会遇到多项式求值的问题。对于多项式求值问题,我们最容易想到的算法是求出每一项的值然后把所求的值累加起来,这种算法的时间和空间效率都不高,对于数据规模不大的题目来说由于其直观、简单很容易被大家采纳,可一旦数据规模过大时,这种算法就显得无能为力了,下面介绍一种解决这类求值问题的高效算法――霍纳法则。一﹑霍纳法则介绍假设有n+2个实数a0,a1,…,an,和x
2015-08-17 09:55:57 1448
转载 结构体和类的区别(待考究)
1.C的结构体和C++结构体的区别 1.1 C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数。所以C的结构体是没有构造函数、析构函数、和this指针的。 1.2 C的结构体对内部成员变量的访问权限只能是public,而C++允许public,protected,private三种。 1.3 C语言的结构体是不可以继承的,C++的结构体是可
2015-08-16 22:01:44 451
转载 c++ 什么情况使用深拷贝什么情况使用浅拷贝
转载自:什么情况下使用浅拷贝什么时候使用深拷贝?Q:什么是浅拷贝(shallow copy)和深拷贝(deep copy)? A: 浅拷贝就是成员数 据之间的一一赋值:把值赋给一一赋给要拷贝的值。但是可能会有这样的情况:对象还包含资源,这里的资源可以值堆资源,或者一个文件。。当值拷贝的时候,两 个对象就有用共同的资源,同时对资源可以访问,这样就会出问题
2015-08-16 17:30:47 2665
转载 c++ 类的赋值运算符=的重载,以及深拷贝和浅拷贝
转载自:C++本质:类的赋值运算符=的重载,以及深拷贝和浅拷贝摘要: 在面向对象程序设计中,对象间的相互拷贝和赋值是经常进行的操作。 如果对象在申明的同时马上进行的初始化操作,则称之为拷贝运算。例如: class1 A("af"); class1 B=A; 此时其实际调用的是B(A)这样的浅拷贝操作。 如果对象在申明之后,
2015-08-16 17:08:10 712
转载 c++操作符重载 类成员函数 类友员函数 左值 右值
一.操作符重载的含义与定义方式C++已有的操作符只适合处理C++的基本数据类型。重写操作符函数一般定义成类的成员函数或友元函数。二.操作符重载原则:1.不能改变运算符的初始意义。2.不能改变运算符的参数数目。如重载运算符+时只用一个操作数是错误的。3.运算符函数不能包括缺省的参数。4.绝大部分C++运算符都可以重载,除以下的例外: . :: .* ?5.除
2015-08-16 16:12:56 2951
原创 c++ 类中重写赋值操作符遇到的问题
c++工程目录结构:currency.h代码如下:#include #include using namespace std;#ifndef CURRENCY_H#define CURRENCY_Henum Sign{ positive,negative};//plus,minus为C++中的保留字??class Currency{ friend ostre
2015-08-16 15:36:23 1104
原创 c++ error: reference to 'plus' is ambiguous ; template<class _Tp> struct std::plus
首先,我自己定义了枚举变量 Sign:enum Sign{ plus,minus};编译时 出现如下错误:解决办法:避免自己在结构体定义中使用 "plus"以及“minus”比如改为:enum Sign{ positive,negative};
2015-08-16 15:22:20 4876
转载 欢迎使用CSDN-markdown编辑器
今天在编程时,编写如下对二维数组进行动态存储分配的程序:#include <iostream>using namespace std;template <class T>bool create2DArray(T ** &arr,int row, int col){ try{ arr=new T*[row]; for(int i=0;i<row;i++)
2015-08-15 09:36:38 482
转载 面向对象和基于对象的区别
面向对象大家都很熟悉,可是基于对象就不一定了。两个听起来好象是同一回事,而事实上它们却千差万别。基于对象是指:我们采用对象这一封装技术,将数据和操作捆绑在一起,但是并没有合理的使用多态、继承等面向对象的技术进行设计。其中的“没有合理使用”这一修饰非常的重要,可以说它道出了面向对象和基于对象的本质区别。 虽然,听起来面向对象我们很是熟悉,但就我的观察,很多以前从事C程序开发的人,当他(
2015-08-13 22:07:31 2014
转载 头文件为什么要加#ifndef #define #endif
当你用VC的菜单新增一个类,你会发现自动生成的代码总是类似下面的样子:#if !defined(AFX_XXXX__INCLUDED_)#define AFX_XXXX__INCLUDED_具体代码#endif 这是为了防止头文件被重复包含。重复包含可以用下面的例子来说明:比如有个头文件a.h,里面有个函数Fa;另一个头文件b.h,里面有函数Fb, Fb的实现
2015-08-13 20:31:05 491
转载 关于带MinGW版本的codeblocks
MinGW就是Windows移植版的GCC编译器Codeblocks是IDE,这个软件的特点是可以让你自由选择想要使用的编译器Code::Blocks是一个免费、开源、跨平台的C/C++ IDE,支持Windows、Linux、MacOSX。同时他还支持各种不同的编译器,如 GNU/MinGW C/C++,VC++ 6.0/2003/2005/2008,Borland C++,Di
2015-08-13 17:20:34 4626
转载 为什么说C++不是完全面向对象的语言
1) main函数不在任何类里面,因为这点,所以做不到完全面向对象,下面其他的都是可以解决的2)基本的数据类型也不是对象(从这点上看JAVA也不是完全面向对象的)3)友元会破坏封装性4)支持独立的函数,数据,即过程化编程其实所谓的完全面向对象,是一些人想出来的卖点,并没有太大的实际意义,难道把main包含进class这种语言就强大了?C++支持面向过程、基于对象
2015-08-13 16:33:42 3451 1
转载 gcc与g++的区别
一:gcc与g++比较编译c/c++代码的时候,有人用gcc,有人用g++,于是各种说法都来了,譬如c代码用gcc,而 c++代码用g++,或者说编译用gcc,链接用g++,一时也不知哪个说法正确,如果再遇上个extern "C",分歧就更多了,这里我想作个了结,毕竟知识的目的是令人更清醒,而不是更糊涂。 误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但
2015-08-13 09:33:28 368
转载 iostream.h和iostream 区别
C++中新定义的方法都是有名字空间的,比如cout就属于std名字空间。如果include头文件的时候加上.h,默认会using namespace 否则需要自己加上 using namespace XXX, 对于C中已经定义的方法如printf,没有影响的。iostream.h是包含输入/输出流处理的头文件,iostream就什么都不是了, 但用iostream要加名词空间names
2015-08-12 22:58:46 642
转载 cout与printf区别
1.格式不同int a=6; coutprintf("%d\n",a);2.printf需要你告诉它格式(int %d, double %f,char %c),而cout不需要另外1.printf是函数。cout是ostream对象,和2.printf是变参函数,没有类型检查,不安全。cout是通过运算符重载实现的,安全。3.如果printf
2015-08-12 21:40:51 16483
转载 C++中的namespace
原文地址:http://blog.csdn.net/yao_zhuang/article/details/1853625namespace中文意思是命名空间或者叫名字空间,传统的C++只有一个全局的namespace,但是由于现在的程序的规模越来越大,程序的分工越来越细,全局作用域变得越来越拥挤,每个人都可能使用相同的名字来实现不同的库,于是程序员在合并程序的时候就会可能出现名字的冲突
2015-08-12 21:02:17 369
转载 GNU组织的 gcc 和 g++ 的区别详解
gcc 和 g++ 都是 GNU 组织的编译器。误区一: gcc 只能编译 C 代码,g++ 只能编译 C++ 代码两者都可以,但是请注意:1. 后缀为 .c 的,gcc 把它当作是 C 程序,而 g++ 当作是 C++ 程序; 后缀为.cpp的,两者都会认为是 C++程序; 注意: 虽然 C++ 是 C 的超集,但是两者对语法的要求是有区别的! C++
2015-08-12 17:28:18 703
转载 GCC编译器的常识
在为Linux开发应用程序时,绝大多数情况下使用的都是C语言,因此几乎每一位Linux程序员面临的首要 问题都是如何灵活运用C编译器。目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。GCC不仅功能非常强大,结构也异常灵活。最值得称道的一
2015-08-12 16:08:18 632
转载 新手须知 C、C++和VC++之间的区别
下面介绍的是C、C++、VC++ 三者之间的区别。供大家参考。C语言是一种古老而又经久不衰的计算机程序设计语言,大约诞生于上个世纪60年代。由于它的设计有很多优点,多年以来深受广大程序设计人员的喜爱,并逐渐 淘汰了很多其它程序设计语言。我们平时使用的大多数软件都是用C语言开发的。很多后来出现的一些语言也沿用了很多它的东西。C语言的编程方式是一种称为面 向过程的开发方式。也就是说,解
2015-08-12 12:53:41 4951 1
TensorFlow 官方文档中文版 - v1.2.pdf
2017-11-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人