
Programming Language
文章平均质量分 73
mountzf
一个勇于坚守内心的技术男
展开
-
C++中指针和引用的区别与联系
原文地址:http://blog.youkuaiyun.com/thisispan/article/details/7456169★ 相同点: 1. 都是地址的概念; 指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。 ★ 区别: 1. 指针是一个实体,而引用仅是个别名; 2. 引用使用时无需解引用(*),指针需要解引用; 3转载 2015-07-28 21:22:34 · 579 阅读 · 0 评论 -
C/C++头文件与变量的声明和定义
C/C++头文件与变量的声明和定义最近遇到了变量重复包含的问题,才发现自己有好多知识已经模糊了,真惭愧。首先说下头文件,其实头文件对计算机而言没什么作用,她只是在预编译时在#include的地方展开一下,没别的意义了,头文件主要作用有两个:一是把很多其他文件需要重复使用的函数变量等在此声明,在需要的地方include;二是给使用你函数文件的人看的。那既然是说明,那么头文件里面放的自然就是关于函数,变原创 2016-06-27 11:20:55 · 21868 阅读 · 3 评论 -
算法学习二:循环不变式证明算法的正确性
循环不变式证明算法的正确性循环不变式主要用来辅助我们理解算法的正确性,对于循环不变式,必须证明它的三个性质(有些类似于数学归纳法的意味):初始化:它在循环的第一轮迭代开始之前,应该是正确的。保持:如果在某一次循环迭代开始之前是正确的,那么在下一次迭代开始之前,它也应该保持正确(假设当循环变量等于k时符合,再看执行一遍循环体后是否还符合循环不变式)。结束:当循环结束时,不变式给了我们一个有用的性原创 2016-07-09 15:42:21 · 12337 阅读 · 2 评论 -
CPU中的Little Endian与Big Endian
CPU中的Little Endian与Big Endian今天在学习利用buildroot编译软件包的时候,make menuconfig之后在Target Architecture选项中发现了同一种CPU架构中有两个不同的选项,分别是little endian和big endian,如下图: 在好奇心的驱使下我就必应了一下,原来是不同CPU存储字节的顺序不同。Little Endian与Bi原创 2016-07-13 11:23:05 · 1074 阅读 · 0 评论 -
算法学习一:排序算法实现与算法性能分析
排序算法与算法分析基础 输入:n个数(a1, a2, a3, …an)。 输出:输入序列的一个排列,重新排序(b1, b2, b3,…bn),满足b1<=b2<=b3<=…<=bn。排序算法插入排序(INSERTION_SORT)首先是插入排序,这是一个针对少量元素排序的有效算法,很形象的是和我们在打牌时整理手中的牌的顺序差不多。先看一下它的伪代码: key是当前待排序的数。INSER原创 2016-07-04 22:33:09 · 1067 阅读 · 0 评论 -
vector所存储对象地址在vector操作过程中发生变化
vector所存储对象地址在vector操作过程中发生变化在编写搜索算法存储搜索路径的时候,以为无论如何vector的所有元素的地址都不变,比如vector<int> [0] ,就想去记录这个地址,留着这个地址以后慢慢用。 结果发现不是这么一回事,在程序调试过程中发现出现莫名其妙的问题,地址存储之后,在push_back之前,访问存储的地址是没问题的,然而push_back之后,再访问该地址就不是原创 2016-10-11 12:35:43 · 3079 阅读 · 0 评论 -
Python基础知识
Python基础知识SheBang和Python文件编码声明#!/usr/bin/python#-*- coding: utf-8 -*-第一行中”#!”的特殊组合和linux中的bash脚本文件一样,属于指定相应的解释器去执行该文件。 第二行中的用来指定文件的编码格式。关于文件的编码格式如果没有文件编码类型声明,默认为ASCII码去处理。文件编码类型声明必须放在Python文件的第一行或者原创 2016-09-27 20:15:41 · 632 阅读 · 0 评论 -
Python字符串与编码
Python字符串与编码计算机对文本进行编码的方式ASCII码由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。UNICODE码由于计算的的发展与普及,越来越多的国家开始使用计算机,然而每个国家的文字基本都不相同,要通过计算机进行处理的话要进行不同的编码,显原创 2016-10-03 12:29:32 · 529 阅读 · 0 评论 -
Python中的list/tuple/dict/set数据类型详解
Python中的list/tuple/dict/set数据类型详解Python内部内置了一些数据类型与结构,可以方便在编程时候的使用。listList存储一系列的有序集合,并且元素内容可变(可更改、删除、添加)。>>> fruits=['apple','orange','pear','banana']>>> fruits[0]'apple'>>> fruits[-1]'banana'由上可知原创 2016-10-04 11:26:34 · 3710 阅读 · 0 评论 -
printf输出格式:printf("%*.*s/n",m,n,ch)
printf输出格式:printf("%*.*s/n",m,n,ch)在printf格式字符串中,与宽度控制和精度控制有关的常量都可以换成变量,方法就是使用一个“*”代替那个常量,然后在后面提供变量给“*”。例如下例:ch = "123456780123"; int n = 2,m = 10; //*.*,前边的*定义的是总的宽度,后边的定义的是输出的个数。 //原创 2016-06-11 19:37:55 · 4406 阅读 · 0 评论 -
命令行模式下编译多个C/C++源文件
最近在学习linux,需要经常使用命令行,这时才发现熟悉命令行之后,命令行真的很强大,也很有逼格由于在linux系统中需要在命令行格式下对C语言进行编译,顺便也研究了一下windows系统下的命令行编译,感觉也蛮方便的。单个源文件编译linux系统下:g++ prog1.cc -0 prog1,echo $?查看返回值结果。windows系统下:cl –GX prog1.cpp原创 2016-06-10 12:43:53 · 4301 阅读 · 1 评论 -
C#软件winform程序安装包制作
转自:http://jingyan.baidu.com/article/b2c186c8e26f2ac46ef6ff3a.html使用vs2010 winform程序开发的软件的人比较多,程序的开发是为了在不同的人不同的机器使用,为了使不同的机器能使用该软件就需要在制作程序安装包,安装包里必须包含该软件运行所选的所有环境,下面就来讲解下winform程序安装包的制作。1:新建安装部转载 2015-08-30 15:59:27 · 9361 阅读 · 0 评论 -
.NET平台下WEB应用程序的部署(安装数据库和自动配置,启动条件)
转自:http://blog.youkuaiyun.com/lihonggen0/article/details/13654首先,创建一个安装和部署项目。步骤如下:1.在 "解决方案资源管理器 "中的解决方案中添加一个新项目。用鼠标右键单击解决方案,在弹出的菜单中选择 "添加 "-> "新建项目 "。在打开的对话框中选择 "安装和部署项目 ",并选择 "Web安装项目 "模板。在输入项目名转载 2015-08-31 11:38:14 · 3034 阅读 · 0 评论 -
使用VS自带的打包工具,制作winform安装项目
开发环境:VS2008 Access 操作系统:Windows XP 开发语言:C# 项目名称:**管理系统 步骤:1、打开开发环境VS2010,新建项目,选择其他项目类型,再选择“安装项目”。 2、进入文件系统选项卡,选择应用程序文件夹,在中间的空白区域右键选择“添加文件”,添加项目文件(exe和dll)。 注:转载 2015-08-31 14:45:41 · 1420 阅读 · 0 评论 -
C# 添加,修改,删除Xml节点
//添加xml节点 private void AddXml(string image, string title) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(Server.MapPath("../flash/dati.xml")); XmlNode ro转载 2015-10-05 10:46:55 · 1758 阅读 · 0 评论 -
XML 与动态添加控件
这个案例是一个基于VS2005的WinForm菜单控件的例子,功能是从XML中动态加载菜单数据到MenuTrip控件上。这个案例中用到了XML,反射之类的技术。当然实用价值有限,仅供学习参考之用。 首先创建一个WinForm项目,在Form1上放置一个MenuTrip控件,将其命名为MainMenu。 在项目中添加一个XML文件,命名为Menu.xml,代码如下: MenuXml转载 2015-10-05 10:30:04 · 1191 阅读 · 0 评论 -
在C#中动态地添加控件
通常在写程序的时候,当要用到某些组件,采用的方法一般都是动态创建,用完以后就释放掉。Visual C#在程序运行的时候也可以动态创建组件,下面就结合一个程序例子来具体介绍如何用Visual C#动态生成组件。首先让我们了解一下,在动态创建组件的过程中要用到的一些概论和理论。 一. Boxing (装箱)和Unb转载 2015-10-05 09:58:11 · 2506 阅读 · 0 评论 -
.net开发中用BackgroundWorker实现多线程
http://www.111cn.net/net/net/74654.htmBackgroundWorker是?net里用来执行多线程任务的控件,它允许编程者在一个单独的线程上执行一些操作。现在我们来学习一下.net开发中用BackgroundWorker实现多线程的实例,希望对大家有所帮助。背景介绍:在做程序的过程中,我们很可能遇到这样的情转载 2015-10-27 23:33:32 · 1180 阅读 · 0 评论 -
Cannot open precompiled header file: 'Debug/***.pch': No such file or directory
Cannot open precompiled header file: ‘Debug/*.pch’: No such file or directory今天在VC6.0中咕哝个程序,遇到如下提示:Cannot open precompiled header file:'Debug/password.pch' No such file or directory所谓pch,即 precompiled转载 2016-06-25 12:57:40 · 1196 阅读 · 0 评论 -
什么是堆和栈,它们在哪儿?
问题描述编程语言书籍中经常解释值类型被创建在栈上,引用类型被创建在堆上,但是并没有本质上解释这堆和栈是什么。我仅有高级语言编程经验,没有看过对此更清晰的解释。我的意思是我理解什么是栈,但是它们到底是什么,在哪儿呢(站在实际的计算机物理内存的角度上看)?在通常情况下由操作系统(OS)和语言的运行时(runtime)控制吗?它们的作用范围是什么?它们的大小由什么决定?哪个更快?转载 2017-06-09 19:59:49 · 951 阅读 · 0 评论