C++和iOS码农
我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。 $(function () { $('pre.prettyprint code').
编写类String 的构造函数,析构函数,拷贝构造函数和赋值函数 class String { public: String(const char *str=NULL);//构造函数 String(const String &other);//拷贝构造函数 ...
**一、strcpy函数实现方法** char* strcpy(char *dest, const char *src) { assert((dest != NULL) && (src != NULL)); char *DesSrc = dest; w...
A:使用SendMessage ,例子如下: ;修改环境变量 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "abcd" "ggg" ;刷新环境...
预期实现结果: C++可对Excel表精确进行某一行某一列的增加、修改、删除、查询数据 预演环境: Window7+VS2013+office2013(32位)、2010(64位)、2007(64位)2003(64位)+WPS2016(位) 预演方法: 1、 ODBC方式访问 2、 通过解析Excel表格文件 3、 通过OLE/COM方式访问 可行性分析: 2003版本office办公软件创建Excel表的后缀.xls 而以后的高版本创建表后缀为.xlsx。
CSDN官方发邮件邀请参加网上视频教学也亲自客服打电话邀请。我也一直想这样,可惜自己越来越觉得自己技术太差,再加上去年出来实习转C++了。更不敢在各位大神面前舞刀弄枪。留个脚印,等技术成熟了,我还会回来的,谢谢CSDN。
前言 最近几年各个技术论坛流传着一句话:未来是全栈程序员的世界!程序员作为社会的一门职业,越来越多的人加入这个行业,在这个行业内分工很明晰的情况下,越来越多的程序员开始不安分追求一门编程语言,开始在工作之余学习其他领域,渴望在不久的将来能在整个软件行业游刃有余。
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。
经常有学员或网友这么问我,可怜的我被问的晕头转向。我们首先来总结下有那么几种情况 好的情况: 1、不排除有的人有天赋、智商高脑仁大。上手很快,这个和脑仁中的Z字回形沟有关。不过大部分人的脑仁都是差不多分量的。
Block代码块是对C做出的一个补充,初次体验代码块,无比的不适应。古怪的语法确实让人不易入门甚至精通。但若能够深入精通Block的使用,会给代码带来层次上的提升。Block就是一段在将来被执行的代码 定义块语法 ^[块返回值类型](形参类型1 形参1,形参类型2 形参2,.
什么是单元测试? 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。
iOS中数据持久化分为四种:属性列表、对象归档、SQLite3和Core Data,SQLite3数据库操作是一个必不或缺的技术。 SQLite3简介 SQLite3数据库是移动端(iOS、Android、嵌入式)上认定的关系型数据库,与MySQL、Oracle等数据库相比,具有轻量级的优势,这就造成了体积小、迅速、简单功能依旧强大等优势。
iOS引入动画效果可以使我们的软件得到更好的用户体验,因此动画的深入研究无疑对于开发者一个很好的加分项。 常见的iOS对动画的操作分为两类: CALayer层的操作 UIView的操作 二者有何区别 UIView里面包含有一个CALayer层 UIView之所以能够在屏幕上显示出来,完全因为其内部拥有一个CALayer层 CALayer层的操作更底层更轻量级、性能更高。
What is the 原型模式? 原型设计模式是通过一个原型拷贝的方式快速创建一个新的对象。 拷贝分为两种: 浅拷贝(同一个地址,不同的指针) 深拷贝(不同的地址,完全的独立) 二者区别在于是否生成新的一个地址 When using the 原型模型? 需要创建的对象应独立于其类型与创建方式。
前言 对于Mac电脑的认识,我一直停留在装B神器的意识上,就在前两天我彻底改变了庸俗的看法,当时忙着写毕业设计,苦于iOS开发没有服务器, 数据都是从网上抓取或本地plist文件,感觉不够高大上,毕业设计怎能平庸,于是乎准备倒腾下服务器开发,以满足我的毕(装)业(B)心愿。
iOS开发中的传送消息机制总的来说细分为三大类: 本地通知 推送通知 通知中心 三者之间并没有什么直接性质的联系,通知中心是向应用程序中注册某个观察者的所有对象广播消息,通过通知中心可以很好的协调不同对象之间的消息通信。
上两篇介绍了NSThread和NSOperation的用法,这篇是对第三种多线程开发GCD的介绍 介绍: GCD是苹果公司在iOS4+以后推出的多线程技术,也是苹果着力推荐的,由于基于C语言开发的,所以它的高效性无与伦比的,但学习难度可能在其他两个之上。
前言: iOS的内存管理机制ARC和MRC是程序员参加面试基本必问的问题,也是考察一个iOS基本功是 否扎实的关键,这样深入理解内存管理机制的重要性就不言而喻了。 iOS内存管理机制发展史 iOS 5以前 :MRC(手动引用计数) iOS 5及以后:A...
前言 今年过年微信客户端临时出现了一个非常有意思的功能,好友发出带了一层蒙层的照片,发指定金额的红包即可看到清晰相片,今天我们就解开这个神秘的技术面纱。 实现技术汇总 官方: CoreImage(很早就出现的技术,缺点是转化效率低) UIBlurEff...
上一篇我们简单的对iOS多线程开发系列(一)三种多线程办法进行对比性能和操作的复杂度,并认真介绍了NSThread的使用。 我们借助上一次的例子完全可以采取NSOperation方法进行实现 NSOperation不具备封装操作的能力,必须使用它的子类: ...
什么是多线程? 一个进程的开始阶段系统会分配一个主线程进行正常的工作,工作过程中是依次执行的,只有这个任务执行完毕的时候才能执行下一个任务,两个或多个任务不能同时执行。这样的工作效率是低效的,因此就引入了多线程,能够利用iPhone设备多核的优势同时并发的处理多个事件。
在移动端对用户的图片进行压缩处理是在所难免,有时候我们需要对图形的尺寸进行改变而有时候需要进行体积的减小,方便上传和节约用户流量。 因此压和缩是不同的两个概念 “压”:指文件体积进行变小,但像素数不变,长和宽不变,质量减少,文件体积也就会减少。
学习起因 前两天搞iOS时,由于项目迭代好多次,UI设计图被推翻好多次,需要删除项目中不用的图片,很显然一个一个找太麻烦,这时候在网上找到了解决办法,运用的就是用Python写的脚本,顿时感觉Python太强调了,不由自主的准备学习一下心得语言Python Python...
先不说,先上图我的Mac终端 怎么样,是不是觉得很炫? 作为经常用Terminal的程序员,当我们心情好或者不好的时候可以设置一下Mac终端欢迎图案,打开的第一眼给人小清新和高大上的感觉,倘若你旁边有女程序员,那这个技巧就是秀操作神技,实在是我们装X必备神器。
前言 iPhone 5之前我们对应用布局停留在3.5寸一个屏幕的阶段,当时的安卓屌丝们是多么的羡慕iOS开发,不会被大量的屏幕适配所烦恼。随着iPhone产品的迭代,逐渐出现4寸、4.
一篇我们介绍了iOS调试奇巧淫技(一),主要是几种断点的功能和运行时间测试,这次我们进一步学习一个让你用了之后爱不释手的测试工具—-LLDB 简单介绍 LLDB是一个开源的内置于XCode的调试工具,可以安装C++或者Python插件。
你以为,你以为的就是你以为的吗? 你以为你代码写的很OK啦? 你以为你的是大牛啦? 你以为的就是你以为的吗? 你的代码经得起考验吗?(PS:爱经得起考验吗) iOS调试的技巧很多,通过调试我们不仅可以迅速找到Bug的所在,更能优化代码,让你的你以为不再是你以为...
公元前 之前还是学生时代的时候给社团们学弟学妹们介绍iOS编程的时候,简单的准备了图灵ios培训第一周(使用UIWebView创建简易浏览器), NSURL *url =[NSURL URLWithString:urlString]; NSLog(urlString); NSURLRequest *request =[NSURLRequest requestWithURL:url]; [webView loadRequest:request]; 运用的就是上面的这种三行代码搞定一切的网页加载的方法。
归并:将两个或两个以上的有序表组合成一个新的有序表 2-路 归并排序 排序过程 初始序列看成n个有序子序列,每个子序列长度为1 两两合并,得到n/2个长度为2或1的有序子序列 再两两合并,重复直至得到一个长度为n的有序序列为止 void Mer...
简单选择排序也叫作直接选择排序 基本思想: 每一趟在后面n-i+1个中选出关键字最小的记录,作为有序序列的第i个记录 (1)设待排序的记录存放在数组r[1…n ]中,第一趟从r[1]开始,通过n-1次比较,从n个记录中选出关键字最小的记录,记为r[k],交换r[1]和r[k]. (2)第二趟从r[2]开始,通过n-2次比较,从n-1个记录中选出关键字最小的记录,记为r[k],交换r[1]和r[k]。
针对冒泡排序我们进行一次优化,就引进了快速排序在此基础上进行优化 基本思想: 任取一个记录(如第一个)作为 枢轴或支点,设其关键字为pivotkey。 在一趟排序后,所有比它小的记录一律前放,比它大的记录一律后放,形成左右两个子表,将枢轴放在分界处的位置; 然后,分别对各子表重新选择枢轴,并依此规则调整,直到每个子表的元素只剩一个,排序完成。
交换排序 基本思想: 两两比较,如果发生逆序则交换,直到所有记录都排好序为止。 两种方法: 起泡排序O(n*n) 快速排序O(nlog2n) 冒泡排序 基本思想:每趟不断将记录两两比较,并按“前小后大”规则交换 优点: 每趟结束时,不仅能挤出一个最大值...
基本思想 每趟将一个待排序的对象,按其关键码大小,插入到前面已经排序好的一组对象的适当位置 上,直到对象全部插入为止。 即边插入边排序,保证子序列中随时都是排好序的 插入排序算法的分类 直接插入排序 折半插入排序 希尔排序 直接插入排序 排序过程:整个排序过程为n-1趟插入,即先将序列中第1个记录看成是一个有 序子序列,然后从第2个记录开始,逐个进行插入,直至整个序列有序。
定义: 将一组杂乱无章的数据按一定规律顺次排列起来 目的: 便于查找 内部排序: 若待排序都在内存中,则称为内部排序 外部排序: 若待排序记录一部分在内存,一部分在外存,则称为外部排序。
前面我写了一篇二叉排序树,最后我们提到提高二叉排序树的查找效率是让二叉树的形状均衡,所以就引入了平衡二叉树。 特点: 一种特殊类型的二叉排序树 所有结点的左、右子树深度之差的绝对值≤1 左右子树是平衡二叉树; 平衡因子:该结点左子树和右子数的高度差 任意一个结点的平衡因子只能取:-1、0或1;如果树中任意一个结点的平衡因子的绝对值大于1,则这棵二叉树就失去平衡,不再是AVL树; 对于一棵有n个结点的AVL树,其高度保持在O(log2n)数量级,ASL也保持在O(log2n)量级。
指向整型数据的指针类型表示为:int *,读作“指向int的指针”或简称“int指针” p=&a;//表示把a的地址赋给指针变量p print(“%d”,*p);//即指针变量p所指向的变量的值,即变量a的值。
1.说说响应链 答: 事件响应链。包括点击事件,画面刷新事件等。在视图栈内从上至下,或者从下之上传播。 可以说点事件的分发,传递以及处理。具体可以去看下touch事件这块。因为问的太抽象化了 严重怀疑题目出到越后面就越笼统。
#import 跟#include 又什么区别,@class呢, #import 跟 #import””又什么区别? #import是Objective-C导入头文件的关键字,#include是C/C++导入头文件的关 键字,使用#import头文件会自动只导入一次,不会重复导入,相当于#include和#pragma once;@class告诉编译器某个类的声明,当执行时,才去查看类的实现文件,可以解决头文件的相互包含;#import用来包含系 统的头文件,#import””用来包含用户头文件。
变量从作用域角度观察,可分为全局变量和局部变量,而从变量存在时间来观察则分为静态存储方式和动态存储方式。 内存中供用户使用的存储空间可分为三部分: 程序区 静态存储区 :全局变量 动态存储区:函数形式参数、函数中定义的没有static关键字的声明变量、函数调用时的现场保护和返回地址 C中的存储类别分为4种: 自动的、 静态的、 寄存器、 外部的、 1.
Object-C作为Apple的iOS App开发语言服务了许多个年头,2014年Apple推出了新的编程语言Swift,更高效更安全的口号再次吸引了一大批非iOS开发程序员进入,小编认为Swift取代Object-C只是时间问题,在神州这片土地上,毕竟技术普及有些落后,但再有两年左右时间Swift产品链将形成,第三方支持框架逐步完善,Swift必将成为iOS开发主流。
二叉排序树又称二叉查找树,它是一种对排序和查找都很有用的特殊二叉树。 定义: (1)若它的左子树不为空,则左子树上的所有结点的值均小于它的根结点的值; (2)若它的右子树不为空,则右子树上所有结点的值均小于它的根结点上的值; (3)它的左右子树本身也分别为二叉排序树。
查找基本概念 查找,也可称检索,是在大量的数据元素中找到某个特定的数据元素而进行的工作。 线性表的查找 在查找表中,线性表查找是最简单的一种,主要的操作为顺序查找和折半查找。
图:Graph=(V,E) V:顶点(数据元素)的有穷非空集合; E:边的有穷集合。 有向图 无向图 无向图:每条边都是无方向的 有向图:每条边都是有方向的 完全图:任意两个点都有一条边相连 稀疏图:有很少边或弧的图。
赫夫曼树又称最优树,是一类带权路径长度最短的树。 路径:由一结点到另一结点间的分支所构成 路径长度:路径上的分支数目 例如上面的a->e的路径长度=2 带权路径长度:结点到根的路径长度与结点上权的乘积 树的带权路径长度:结点到根的路径长度与结点上权的乘积 ...
限于篇幅过长上一篇我们只谈了树、二叉树(一)比较基础的认识,下面我们深入的学习树与二叉树。 顺序存储结构 使用一组地址(一维数组)连续的存储单元来存储数据元素 //-------二叉树的顺序存储表示--------- #define MAXTSI...
在Swift中延伸了一种和C++类似的新特性,Swift的运算符提供了良好的可拓展性,我们可以对运算符进行操作,对运算符的操作其实就是对运算函数的重写或者重载。注意运算符操作一般被操做的参数往往要加上In-Out模式。
泛型是为Swift编程灵活性的一种语法,在函数、枚举、结构体、类中都得到充分的应用,它的引入可以起到占位符的作用,当类型暂时不确定的,只有等到调用函数时才能确定具体类型的时候可以引入泛型。
树 定义 树是n(n≥0)个结点的有限集,它或为空树(n=0),或为非空树 非空树T满足以下条件: (1) 有且仅有一个称为根的结点; (2)除根结点以外的其余结点可分为m(m>0)个互补相交的有限集T1,T2,…Tm,其中每一个集合本身又是一棵树,并且称为根的子树。
Swift中增加了两种类型别名 Any:可表示任意类型,(Int、Double等值类型)。 AnyObject:可表示任意class类型实例, 一个任何对象类型的数组 Any类型: class Calculate { var NumberA:A...
下午帮同事改了一下午的代码,深深的被刺伤了,也深深的觉得代码架构的重要性,更深深的觉得应该好好的打磨一下设计模式。于是乎就钻研一下设计模式由易到难,先从iOS最简单的单例模式说起。