c++
清风予你
实践与理论结合,每天进步一点!!!个人遇到问题记录!
展开
-
最大子序列之和
1 复杂度为N^2的解法:#define INF 1000000int MaxSeq(int str[],int n){ int Max=-INF; //int sum=0; for(int i=0;i<n;i++) { //每次从新开始 int sum=0; for(int j=i;j<n;j++)原创 2016-09-29 15:46:27 · 322 阅读 · 0 评论 -
Collections.sort的两种用法
/** * @author guwh * @version 创建时间:2011-11-3 上午10:49:36 * 类说明 */ package com.jabberchina.test; import java.util.ArrayList; import java.util.Collections; import java.util.Compa转载 2017-03-20 10:10:59 · 304 阅读 · 0 评论 -
java new 对象
你知道在java中除了8中基本类型外,其他的都是类对象以及其引用。所以"xyz"在java中它是一个String对象.对于string类对象来说他的对象值是不能修改的,也就是具有不变性。看:String s="Hello";s="Java";String s1="Hello";String s2=new String("Hello");啊,s所引用的转载 2016-01-04 10:06:28 · 533 阅读 · 0 评论 -
深拷贝与浅拷贝的认识
首先定义:浅拷贝:直接复制对象里的字段。深拷贝:如果该字段不是指针,则复制字段,若存在指针,则申请一块新地址存放指向的内容。传值:在进入函数前,先通过拷贝函数(若没有拷贝构造函数,则调用默认构造函数,即浅拷贝)建立一个临时对象。函数结束时会调用析构函数销毁该对象。传引用:把对象直接传过去一定要区别构造函数和赋值函数。就像声明和定义,初始化和赋值的区别。非常重原创 2016-09-29 22:25:12 · 246 阅读 · 0 评论 -
堆和栈的区别
栈是随函数被调用时分配的空间 栈上分配的空间是临时的,在函数退出后将被系统释放,不会造成内存泄露,不得用delete或free操作,因为栈的空间小所以在栈上不能获得大量的内存块,一般最大也就不到10M,堆是在整个进程的未分配空间中分配的内存,由malloc或new分配,一般必须由free或delete释放。堆上可以分配大量的内存,只要你的机器吃得消。 一般来说,由new和mall转载 2016-10-09 15:57:42 · 297 阅读 · 0 评论 -
指针与数组的联系与区别
数组指针: 指向数组的指针int(*p)[n] 首先说明P是一个指针,指向一个整型的一维数组,这个一维数组的长度,也可以说是P的步长。也就是说执行p+1时,p要跨过n个整形数据的长度。所以数组指针的也称指向一维数组的指针,亦称为行指针。指针数组 存储指针的数组定义int *p[n]int* 说明这是一个整型指针数组。它有n个指针内型的数组元素。这里p+1是错误原创 2016-10-10 19:23:52 · 370 阅读 · 0 评论 -
指针和引用的联系与区别
1引用和指针概念上的区别valrible和address的区别。:指针本质上讲就是存放变量地址的一个变量。逻辑上是独立的,他可以被改变,包括所指地址,和所指地址的所存放的的数据的改变:引用是一个别名,在逻辑上不是独立的,它的存在具有依附性,必须一开始就被初始化,在其引用的对象的整个生命周期是不能改变的2 函数参数传递:指针参数传递本质是值传递的方式,原创 2016-10-09 15:42:21 · 357 阅读 · 0 评论 -
11个强大的Visual Studio调试小技巧
这篇文章总结了可能节省你大量时间的11个Visual studio的调试技巧和方法。1 悬停鼠标查看表达式值调试是很有挑战性的。比如在函数内逐步运行可以看出哪里出错,查看堆栈信息可以知道函数被谁调用等等……但是无论哪种情况下,查看表达式和局部变量的值都是很麻烦的(把表达式和局部变量放到watch窗口里)。一种更简单的方法,把鼠标停在所需查看的数据上。如果是类或结构,那么点击转载 2016-03-11 16:16:18 · 468 阅读 · 0 评论 -
使用U盘安装windows系统教程
使用U盘安装windows系统教程Posted on 2016-03-28 | In Tools | | visitors 466前言计算机专业的童鞋们大多遇到好多需要帮忙装系统的经历,每次都是不胜其烦。其实,对于但凡有点电脑使用经验的童鞋来说,现在安装或者重装系统,就显得特别简单了。这里做一个稍作详细点的整合教程记录,以后有装系统的差事,就转载 2017-07-01 21:26:56 · 743 阅读 · 0 评论 -
CoCreateInstance of OLE control failed
1.在将VC6.0的工程转换到VS2005下编译连接都没有问题运行时报错Assert fail in occcont.cpp at line 950 用Windbg调试可执行程序发现有如下错误CoCreateInstance of OLE control {648A5600-2C6E-101B-82B6-000000000014} failed,我在工程里面用了串口的控件,网上查了一下这个问题是串转载 2015-09-26 16:33:12 · 2347 阅读 · 1 评论 -
c++学习 有用的连接
1 框架分为c++j基础和提高篇 http://blog.csdn.net/bbs375/article/details/52453988原创 2017-07-19 22:18:58 · 178 阅读 · 0 评论 -
Sizeof() 详解
struct S1{char c;int i;}; 问sizeof(s1)等于多少聪明的你开始思考了,char占1个字节,int占4个字节,那么加起来就应该是5。是这样吗你在你机器上试过了吗也许你是对的,但很可能你是错的!VC6中按默认设置得到的结果为8。Why为什么受伤的总是我 请不要沮丧,我们来好好琢磨一下sizeof的定义—转载 2017-07-23 20:42:19 · 291 阅读 · 0 评论 -
堆和栈
、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静转载 2017-07-23 20:38:04 · 225 阅读 · 0 评论 -
inline 内联函数
一、inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。 表达式形式的宏定义一例: #define ExpressionName(Var1,Var2) ((Var1)+(Var2))*((Var1)-(Var2)) 为什么要取代这种形式呢,且听我道来: 1. 首先谈一下在C中使用这种形式宏定义的原因,C语言是一个效转载 2017-07-23 20:35:05 · 237 阅读 · 0 评论 -
经典C/C++面试题
1.介绍一下STL,详细说明STL如何实现vector。Answer: STL (标准模版库,Standard Template Library)它由容器算法迭代器组成。 STL有以下的一些优点: 可以方便容易地实现搜索数据或对数据排序等一系列的算法; 调试程序时更加安全和方便; 即使是人们用STL在UNIX平台下写的代码你也可以很容转载 2017-07-23 20:30:18 · 261 阅读 · 0 评论 -
C++中this指针存放在哪里
#include #include using namespace std;//CPerson类class CPerson{ int m_nAge;//年龄 char m_strName[256];//姓名public: //构造函数 CPerson(int age, char* nam转载 2016-01-25 10:33:15 · 7165 阅读 · 0 评论 -
Where is the 'this' pointer stored in computer memory
I think it's also useful to see what the C++ ISO spec explicitly says about this. According to the C++03 ISO spec, §9.3.2/1:In the body of a nonstatic (9.3) member function, the keyword this is转载 2016-01-25 11:13:03 · 545 阅读 · 0 评论 -
c++笔记
1 构造函数 :声明该类对象是,构造函数将被自动调用。先声明 后调用构造函数。Dateofyear date1(7,4) ,date2(5,5)相当于Dateofyear date1;Dateofyear date2;date1.Dateofday(7,4);date2.Dateofday(5,5);2 构造函数显示调用:构造函数也可原创 2016-07-13 20:12:31 · 308 阅读 · 0 评论 -
c++笔记 2
1 构造函数 :声明该类对象是,构造函数将被自动调用。先声明 后调用构造函数。Dateofyear date1(7,4) ,date2(5,5)相当于Dateofyear date1;Dateofyear date2;date1.Dateofday(7,4);date2.Dateofday(5,5);2 构造函数显示调用:构造函数也可原创 2016-07-13 23:08:20 · 263 阅读 · 0 评论 -
C++ 复习 :知识点 多态性与虚函数
2017-6-18 1 多态性定义,作用.为什么会引入它。2 虚函数的定义,作用,为什么会引入它。3 向上类型的定义,作用。4 捆绑定义,早捆绑,晚捆绑,为什么要实现捆绑。5 虚函数的扩展性,6 如何实现晚捆绑,存放型信息、功能演示、。7 抽象类和纯虚函数。8 纯虚定义,为什么。9 对象切片。10 虚函数和构造函数之间的关系。11 向下类型转换。原创 2017-06-18 17:35:14 · 534 阅读 · 0 评论 -
对象的创建与使用
1 解释器:将源代码转换为几个动作并立即执行这些动作。2 编译器:将源代码转换为汇编语言或1机器指令。3 编译过程1 预处理器 2 编译 3 连接器4静态类型检查:检查函数参数是否正确。5 分段编译工具:子程序,也就是函数。6 声明与定义:声明向编译器介绍名字-- 标识符。告诉编译器:这个函数或变量在何处能找到。:定义是说在这里建立变量。或建立函数。原创 2017-07-05 09:25:20 · 248 阅读 · 0 评论 -
c++中的C
1 创建函数:函数原型:参数表中必须包含应当传递的参数类型和参数的表示符。:c中可以有不确定的参数数目。2 函数返回值:c++中必须指明返回值类型。c默认返回int.3 switch语句:选择器是一个产生整数值的表达式。发现匹配,执行对应的语句。如果都不匹配,就执行default。4 指定存储空间分配全局变量:函数体外部定义的,生命期一直到程序的结束。局原创 2017-07-05 15:12:42 · 276 阅读 · 0 评论 -
数据抽象to
1 动态存储 在c中,动态内存函数包含malloc(),calloc(),relloac(),free().2 基本对象3 什么是对象。把函数捆绑自数据结构内部的语言是基于对象的,而不是面向对象的。4 封装将数据连同函数捆绑在一起的能力可以用于创建新的数据类型。5 对象细节对象的大小就是它的所有成员大小的和。6原创 2017-07-05 16:48:02 · 329 阅读 · 0 评论 -
STL中的set容器的一点总结
1.关于setC++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、查找等。让转载 2017-07-22 22:55:10 · 335 阅读 · 0 评论 -
STL中的map容器的一点总结
一、关于map的介绍map是STL的一个容器,和set一样,map也是一种关联式容器。它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,有助于我们处理一对一数据。这里说下map内部数据的组织,map内部是自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据转载 2017-07-23 14:56:15 · 226 阅读 · 0 评论 -
STL中的list容器的一点总结
转自:http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/10/2631191.html1.关于list容器list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,也就是list也具有链表的主要优点,即:在链表的任一位置进行元素的插入、转载 2017-07-23 15:14:35 · 239 阅读 · 0 评论