自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 问答 (4)
  • 收藏
  • 关注

原创 vector扩容机制带来的bug

起因是我写了这样一段代码:将指向vector中元素的指针加入到另一个vector中。//graph.edges是vector<T>graph.edges.emplace_back((&graph.map_id_node[from]), (&graph.map_id_node[to]), weight);//graph.map_id_node[from].edges是vector<T*>graph.map_id_node[from].edges.push_b

2021-09-30 18:11:45 361

原创 用图层服务作为GP服务参数。GP服务之参数 GPFeatureRecordSetLayer

之前我做过一个利用mapserver提供的查询接口,获取json格式的要素,然后将json下载再转换成shp,来进行各种处理的gp服务。今天我偶然发现arcgis官方也可能提供了这种模式。之所以说是可能是因为,我只是根据官方的一段介绍得到了这样的推断。起因是下午快下班的时候,我偶然看到了这篇博客。https://my.oschina.net/u/4369360/blog/3388395我突然发现这就是我梦寐以求的以图层服务作为gp服务的例子。截图来自博客随后我注意到作者使用了这个参数类型

2020-10-17 01:02:27 1973 6

原创 c++继承中的构造函数与拷贝控制

#pragma once#include #include #include class Disc_Quote;//Disc_Quote即将被使用,它将是Quote的派生。若只声明,无需写出它的 派生访问列表class Quote//类在被用作基类之前,必须已经定义,而不仅仅是声明,派生类需要知道基类有什么样的成员{public: Quote() { std::cout

2017-02-10 23:37:47 452

原创 c++ prime 课后题 文本查询程序

根据书里的提示写的。提示:1.使用vector保存文本;2.用map保存 >的关键字,和关键字所属行号。3.使用ifstream,istringstream,ostream来解析文本,输出结果是完全自己写的实现,和书里的结构不太一样,但处理查询的思路是相同,毕竟提示已经给到这个地步了。头文件#include#include#include#include

2017-01-20 14:56:43 334

原创 拷贝控制和引用计数

#includeusing std::endl;using std::cin;using std::cout;#include using std::string;struct HasPtr_value{ //new 返回一个指向对象的指针 HasPtr_value(string curr = string("")):ptr(new string(curr)){ } int d

2016-12-26 23:47:00 215

原创 数组在表达式中解释为指针的规则受抑制的三种情况

总结来于《征服C指针》,前桥和弥#includeusing std::cin;using std::cout;using std::endl;int main(){ //..以下三种情况 数组在表达式中解释为指向其第一个元素的指针的规则受到抑制 int arr[3]; //此处是sizeof 表达式,表达式可以不用括号括起来 //此时数

2016-12-13 22:49:14 350

原创 征服c指针笔记

#includeusing std::cin;using std::cout;using std::endl;void Func_1(int i){ cout<<i<<endl;}int main(){ /*int a[3]; int *pa=a; int (*parray)[3]=&a; cout<<pa<<endl; cout<<parray<<endl;

2016-09-17 10:49:21 279

原创 c++可变长参数的函数

#include #include #include #include int tiny_sum(int i,...){ int j=i; va_list ap; va_start(ap,i);//将ap指向参数i后面的参数,也就是说第一个参数会被跳过。  while (true) { j+=va_arg(ap,int);//获取当前参数的值,同时将a

2016-09-11 15:28:00 275

原创 优先队列(非模板函数,是int)

发现了一个可能是书里的错误,在swim函数中while检测的条件void priorityQueue::Swim(size_t t){ inArr[0]=inArr[t]; while (inArr[t/2]<inArr[t])//这里我认为不对,我认为因是inArr[0] { inArr[t]=inArr[t/2]; t/=2; } inArr[t]=inArr

2016-08-14 16:11:54 325

原创 队列简要实现,是queue,不是dequeue

#ifndef MYQUEUE_H#define MYQUEUE_Hstruct Node{ int data; Node *next;};class LUqueue{public: LUqueue(); ~LUqueue(); void Push(int data); int Top(); void Pop();private: void Insert(No

2016-07-24 21:09:11 461

原创 栈实现,不是用template做的.

用单链表来实现栈,插入和删除的部分很有意思。写完这个感觉突然理解了书上说的适配器的观点,类就是这样,不管你底层实现是什么,表现成什么就好了,是一个黑盒。头文件Mystack.h#ifndef MYSATCK_H#define MYSTACK_Hstruct Node { int data; Node *next;};class LUStack{publi

2016-07-24 20:33:19 215

原创 杨辉三角,一个vector实现,不复制,不用队列。

昨晚写到纸上,今天晚上调通,本来想要动态数组,但是发现这块的知识还欠缺,用着有问题。自己基础知识一直有问题,真是心急,要学习的知识好多,都不知道先学哪个。整个代码效率应该很低,因为进行了大量的判断。目前没有在网上搜到一样的代码,有点小虚荣。#include#include using std::cin;using std::vector;using std::cout;usi

2016-07-13 23:21:36 562

原创 多维数组与指针

今天在写遍历二维数组的时候,突然思考这个问题,原因在于作内层循环时,对指针和数组理解不到位。虽然一直都会也写遍历二维数组,但是原先从没有想过这个问题。(逃)头文件#ifndef TREBLE_H#define TREBLE_H#includetypedef int int_array[3];void DisplayArray1(int(&a)[2][3]);vo

2016-06-09 18:17:24 309

原创 三种方法检测数组边界

c++primer里的一道题int *a;int a[];int a[10];三种形参都一样,都被认为是int *a。能检测边界的只有这种 int(&a)[10]。#includeusing std::cin;using std::cout;using std::endl;int Sum1(int *begin,int *end){ int sum=0

2016-05-31 20:54:11 3158

原创 C++Primer习题6.12

编写一个小程序,从标准输入读入一系列 string 对象,寻找连续重复出现的单词。程序应该找出满足以下条件的单词的输入位置:该单词的后面紧跟着再次出现自己本身。跟踪重复次数最多的单词及其重复次数。输出重复次数的最大值,若没有单词重复则输出说明信息。例如,如果输入是:#include#includeusing std::cin;using std::cout;using std:

2016-05-31 16:43:38 397

原创 《c++primer 》string *pstr = new string; *pstr = str;的疑问

题目:编写程序定义一个 vector 对象,其每个元素都是指向 string 类型的指针,读取该 vector 对象,输出每个 string 的内容及其相应的长度。疑问出在string *pstr = new string; *pstr = str;看了很多解答,汇总一下。#include#include#includeusing std::cin;using std::cou

2016-05-30 17:10:45 669

原创 桶排序

#include#includeint MaxValue(std::vectorb);void BarrelSort(int c[], std::vectorb){ int max = MaxValue(b); int* a=new int [max+1]; for (int i = 0; i < max+1; i++) { a[i] = 0; } for (std::

2016-04-19 20:08:33 402

原创 C#委托和事件

贴一个博客地址:张子阳http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx结论:委托是函数指针。能调用和委托函数签名相同函数。事件是它封装了委托类型的变量,在类的外部是private的。程序:CCboy养成CCboy->toSuperStar->memb

2016-04-05 19:20:19 260

原创 AVL树单选转和双旋转

看了好几天树了,也算有点心得。学树,必须要图。这里有两篇里的博客,在结合书,我用的是《数据结构与算法分析C++版》就可以了。http://blog.csdn.net/a454042522/article/details/8591421http://blog.csdn.net/vesper305/article/details/13614403在AVL树中必须平衡的点叫做

2016-04-02 14:06:30 788

原创 C++指针理解《一》

贴个代码,注释比较清楚了。对于局部指针变量的问题,参见http://ask.csdn.net/questions/246619,感谢这么多热心人回答这个问题。#includeusing std::cin;using std::cout;using std::endl;const int* pointParmas(const int *t);int*& pointBoom();

2016-04-02 13:36:07 177

原创 继承与构造函数

今天基本确定了实习,去写C#。派生类构造函数默认之间是调用基类构造函数。(书上的结论)比如说:基类Vehiclepublic class Vehicle { private Vehicle() { } public Vehicle(int a) { Con

2016-03-29 21:08:15 263

转载 C++中的函数指针与函数对象的总结(转载,作者佚名)

C++中的函数指针与函数对象的总结以下是对C++中的函数指针与函数对象的使用进行了详细的分析介绍,需要的朋友可以参考下篇一、函数指针函数指针:是指向函数的指针变量,在C编译时,每一个函数都有一个入口地址,那么这个指向这个函数的函数指针便指向这个地址。函数指针的用途是很大的,主要有两个作用:用作调用函数和做函数的参数。函数指针的声明方法:数据类型标

2016-03-28 16:12:51 257

原创 C#占位符

之前学习的是C#2.0,今天找了一本C#5.0的书翻了一下。才知道还有自动属性和计算属性,程序学习果然不进则退。照书上的要求写了个代码。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;names

2016-03-27 15:55:29 1787

转载 解释型语言与编译型语言的区别

译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语

2016-03-27 13:10:23 263

转载 分享一个谷歌工程师的博客。有很多书单。

http://zh.lucida.me/

2016-03-27 11:14:13 388

转载 三目运算符(转自百度知道)

这里涉及了C中的优先级、结合性、求值顺序。结合性只有在相同优先级的运算符间才起作用,比如a+b*c,+与*优先级不同,这里根本不用去管结合性。而a+b+c则需要进行结合性考虑了,如果+为左结合性,那么应该理解为:(a+b)+c,如果+为右结合性,那么应该理解为a+(b+c),当然了,我们已经知道+为左结合性了。对于?:,在C中与它优先级相同的只有它自己,因此只有连续的?:才会体现出它的右结合性

2016-03-27 10:36:49 530

原创 二分查找(改)

二分查找,应该是面试里比较简单但是也会问道的问题。这个代码,是我初看见二分查找的原理时写的,用的递归。好吧,有明显的错误,就是当寻找的值不在数组中时会越界。int FindX(const vector& a,int left,int right ,int k){ int center = (left + right) / 2; if (k>a[center]) { Find

2016-03-25 11:43:16 329

原创 采用递归求数组里面求最大子序列的算法(手绘图解)

本文改编自我在知乎的回答。http://t.cn/RqPi9FO先上代码。private static int maxSumRec( int [ ] a, int left, int right ) { int maxLeftBorderSum = 0, maxRightBorderSum = 0; int leftBorderSum = 0

2016-03-25 08:41:07 842

原创 printdigit打印小数的一个问题,递归(问题)

用递归打印小数,主要问题在于寻找小数的位数,首先解决小数和整数的分离;其次是小数的位数。1.小数和整数的分离:int num;double dic;num = int(n);dic = n - num;n是传进的double形参,num用强制转换获得整数部分,dic是获得小数部分。但是dic是有问题的,因为3.45-3可能等于0.459999,而不是0.45。

2016-03-24 11:30:39 789

原创 在数组中选择k

不得不说auto关键字真的很好用#include#includeusing std::vector;using std::cin;using std::cout;using std::endl;class SelsctK{private: vector arr; int flag = 0;public: SelsctK(vector& a) :arr(a)

2016-03-23 20:29:01 343

原创 C#学习笔记

var是类型推断,var x=9;编译器会认为x是int型,但是变量必须初始化,否则编译器没有推断的依据。类中的变量(字段),即使是方法中的字段在整个类中都有生命周期。object.fiedlname(字段),在对象外部引用类的字段或结构。//C#允许这样的贯通switch (n){    case 2:    case 4:            Cons

2016-03-23 10:43:15 291

原创 《21天学通C++》读书笔记,名字很奇怪,但写的还蛮好,

变量长度指的是:程序员声明变量时,编译器将预留多少内存,用于存储赋给该变量的数据。变量的长度随类型而异,C++提供了一个方便的运算符——sizeof,可用于确定变量的长度(单位为字节)或类型。在有些情况下,根据赋给变量的初值,很容易知道其类型。例如,如果将变量的初值设置成了 true,就可推断其类型为bool。在C++11中,可不显式地指定变量的类型,而使用关键字auto使

2016-03-23 10:42:04 793

原创 C++PRIMER 学习笔记

2016/3/3cerr 对象又叫作标准错误,通常用来输出警告和错误信息给程序的使用者。而 clog 对象用于产生程序执行的一般信息。告诉编译器要使用 iostream 库。尖括号里的名字是一个。 头文件。程序使用库工具时必须包含相关的头文件。#include 指示必须单独写成一行——头文件名和 #include 必须在同一行。通常,#include 指示应出现在任何函数的外部。而且习

2016-03-23 10:40:19 1272

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除