编程语言
watl0
1140454645@qq.com
展开
-
尾调用与尾递归
尾调用(Tail Call): 尾调用是指一个函数的最后一个操作是另一个函数的调用。尾调用的一个关键特性是它不会在调用栈上创建新的栈帧(函数调用记录),而是可以复用当前函数的栈帧。尾递归(Tail Recursion): 尾递归是递归的一种形式,其中递归调用出现在函数的尾部,类似于尾调用。尾递归函数在递归调用时不会在调用栈上积累新的栈帧,因此也可以避免栈溢出错误。这是一种非常有用的优化技术,尤其是在函数需要重复递归调用时。在尾递归中,递归调用的结果会被传递给下一次调用,并且没有其他操作需要执行。原创 2023-10-05 12:30:07 · 206 阅读 · 0 评论 -
c语言字符数组与字符串的使用详解
1、字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。char str[10]={ 'I',' ','a','m',' ',‘h','a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定转载 2013-09-05 23:17:08 · 1242 阅读 · 0 评论 -
C++基础 之 回调函数 原理剖析
软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。回调和异步原创 2013-09-11 23:00:49 · 2151 阅读 · 0 评论 -
函数嵌套
嵌套函数C语言中函数的定义都是相互平行、相互独立的,也就是说在函数定义时,函数体内不能包含另一个函数的定义,即函数不能嵌套定义,但可以嵌套调用。嵌套函数,就是指在某些情况下,您可能需要将某函数作为另一函数的参数使用,这一函数就是嵌套函数。一个为大家所熟知的例子就是qsort函数会将一个比较器cmp作为参数.又如图1中所示的公式使用了嵌套的 AVERAGE 函数,并将结果与 50 相比较原创 2013-09-14 10:47:33 · 1997 阅读 · 0 评论 -
c++基础 之 预编译
#pragma once #ifndef,#define,#endif这是一个比较常用的C/C++杂注,只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次。#pragma once是编译器相关的,就是说即使这个编译系统上有效,但在其他编译系统也不一定可以,不过现在基本上已经是每个编译器都有这个杂注了。#ifndef,#define,#endif是C/C++语言中的宏定义原创 2013-09-14 10:49:53 · 1233 阅读 · 0 评论 -
c++ 基础 之 dynamic_cast (java : instanceof)
类之间 的 向上 向下转换原创 2013-09-20 17:12:40 · 1400 阅读 · 0 评论 -
object-c++混编
object-c++混编 http://blog.sina.com.cn/s/blog_7c8dc2d50101fubl.html转载 2013-12-20 10:00:54 · 872 阅读 · 0 评论 -
编码转换
1.UTF-8 转换 Unicode 在编写FTP Client时,发现通过recv获取的数据是采用UTF-8方式进行编码的,直接用Unicode方式进行显示时会发生错误。采用MultiByteToWideChar也无法正确转换(default是Ascii to Unicode。是我的设置问题?没有仔细研究)。 因此学习了下UTF-8的编码原理,参考如下:标准的UTF-8是有原创 2014-03-11 23:49:33 · 1137 阅读 · 0 评论 -
静态动态语言区别
看中文资料和英文资料的感觉就是不一样,英文资料的文法很清晰,而中文就不一样,要看很多遍。再说文言文,那个表达就更神了。在不同的地方使用不同的文法,编程也一样。在大型项目中,在乎的不是绚丽的文法,设计模式之类,在乎于清晰的表达。往往我们在这类项目中从来都是用笨办法来解决问题,主要考虑到大局的因素。如果采用巧办法会给大局带来不稳定因素,我们宁愿多花点代价用笨办法实现。不知道我这样说有没有离题。因此转载 2016-11-05 18:58:07 · 389 阅读 · 0 评论 -
程序员基础知识(大牛点评)
程序员基础知识(大牛点评):c++的基础知识、如面向对象的特征,构造函数、析构函数、动态绑定等,能够反映出应聘者是否善于把握问题本质,有没有耐心深入分析一个问题,另外还有常用的设计模式、UML图等,这些都能体现应聘者是否有软件工程方面的经验; 对基础知识的考查我特别重视c++的内存管理,因为内存管理会影响程序的效率和稳定性。基础知识反映出一个人的基础能力和基础素质,是以原创 2016-12-12 00:42:16 · 613 阅读 · 0 评论 -
String(字符串)数目统计
function strLen( str )if str == nil thenreturn 0endreturn string.len(string.gsub(str,"[\128-\255][\128-\255][\128-\255]"," "))endlocal str = "abc我1234"local len = strLen(str)print(len)原创 2017-03-03 18:21:45 · 1242 阅读 · 0 评论 -
unity3D学习笔记之八 利用RawImage和RenderTexture在uGUI上显示Model
Camera有个属性: Target Texture:目标贴图 一般用来显示小地图这类画中画的功能。 可以新建一个Render Texture赋值给它。 在UI上显示Module 需要 1、 新建Camera取名为UI Camera 设置Layer为“UI“ 设置Project为Orthographic Depth 要大于MainCamera 的Depth 2、新建Rend原创 2017-07-07 22:53:20 · 4503 阅读 · 0 评论 -
c++基础 之 typedef 用法总结
用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针,// 和一个字符变量;以下则可行:typedef char* PCHAR; PCHAR pa, pb; 这种用法很有用,特别是char* pa, pb的定义,初学者往往认为是定义了两个字符型原创 2013-09-11 22:26:39 · 812 阅读 · 0 评论 -
C++中常用的库
#include void booltype(){ int gv = 9; isdigit(gv);// 0-9 islower(gv);//a isupper(gv);//A isalpha(gv);//a isalnum(gv);//a isspace(gv);//gv是空字符返回真 isprint(gv);//gv是可显示的ANSIC字符为真 to原创 2013-09-08 19:18:46 · 844 阅读 · 0 评论 -
vc++常见错误之二:“fatal error C1083: ”无法打开包括文件
原文链接:http://www.cnblogs.com/txg-blog/archive/2011/03/07/1974857.html 步骤1:定位报“fatal error C1083: ”错误的文件,找到它所在的目录。步骤2:添加该项目的附加路径 。如图所示:1)右键查看该项目的属性2)点击配置属性——〉 C/C++ ——〉 常规 ——〉 附加包含目录——〉将报错转载 2013-07-05 18:17:08 · 17354 阅读 · 1 评论 -
vc++常见错误之三:”当前断点不会命中,源代码与原始版本不同“
原文链接:http://blog.csdn.net/clever101/article/details/4672082 开发时有一个工程的一个文件的断点无效,VS 2005提示说当前不会命中断点。源代码与原始版本不同,请在断点选项里设置允许源代码与原始版本不同。这个是针对单个断点进行设置。如果要对所有的断点进行设置,则要在“工具”——〉“选项”——〉“调试”——〉“要求源文件与转载 2013-07-05 19:52:29 · 2733 阅读 · 0 评论 -
Lua学习笔记之数据类型
1、 类型和值Lua是动态语言,变量不要类型定义。Lua有8中基本类型:Nil,Boolean,number,string,userdata,function,thread,table.Type测试变量或值得类型。Nil:一个全局变量没有赋值以前为nil,给全局变量赋值为nil可以删除该变量。Boolean:在控制结构的条件中,除了false和nil外,其他值都为真,原创 2013-06-03 18:59:35 · 827 阅读 · 0 评论 -
矩形旋转
CCSprite*sp1=CCSprite::create("boss2A.png"); this->addChild(sp1); sp1->setAnchorPoint(CCPointZero);默认位置:左下角(ccp(0,0))默认锚点:中心位置(ccp(0.5,0.5)) 测试的矩形框是以左下角为锚点的。位置是当初设置sprite原创 2013-08-06 19:48:52 · 2155 阅读 · 0 评论 -
c++基础积累之 字节对齐
解释:现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构原创 2013-08-19 22:52:55 · 603 阅读 · 0 评论 -
C语言库函数之 int vsnprintf(char *str, size_t size, const char *format, va_list ap);
_vsnprintf,C语言库函数之一,属于可变参数。用于向字符串中打印数据、数据格式用户自定义。头文件:#include 函数声明:int vsnprintf(char *str, size_t size, const char *format, va_list ap);参数说明:char *str [out],把生成的格式化的字符串存放在这里.size_t原创 2013-08-19 22:47:53 · 7473 阅读 · 0 评论 -
内存详解
一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(转载 2013-09-06 21:12:14 · 651 阅读 · 0 评论 -
用C++设计一个不能被继承的类
分析:这是Adobe 公司2007 年校园招聘的最新笔试题。这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目。 在Java 中定义了关键字final ,被final 修饰的类不能被继承。但在C++ 中没有final 这个关键字,要实现这个要求还是需要花费一些精力。 首先想到的是在C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构转载 2013-09-06 21:15:27 · 708 阅读 · 0 评论 -
memcpy函数的实现+应用--详解
原文:http://liangbing8612.blog.51cto.com/2633208/696753 memcpy函数较memmove相比,存在的不足是没有考虑到目的地址与源地址相重合,本文对memcpy作了修改,弥补其不足。 memcpy函数的特点是: 1. 使用memcpy函数前,实参dest必须初始化,否则可能会出错,原因见2。 2.转载 2013-09-06 21:23:23 · 1203 阅读 · 0 评论 -
颠倒单词的出现顺序
题目:请编写一个函数颠倒单词在字符串里的出现顺序。比如说,你的函数应该把字符串"Now we are one!"转换为"one! are we Now"。假设所有单词都以空格为分隔符,标点符号也被当作字符看待。代码:void ReverseString(char str[], int start, int end){ char tmp; //exchan转载 2013-09-06 21:28:19 · 1553 阅读 · 0 评论 -
C++中不定参数的函数实现
#include void appart(int a,...){ va_list va; va_start(va,a); while (a--) { char* name = va_arg(va,char*); int year = va_arg(va,int); cout } va_end(va);}int _tmain(int argc原创 2013-09-08 19:12:22 · 1315 阅读 · 0 评论 -
win32平台下按键处理关联的一系列知识点详解
WINUSERAPISHORTWINAPIGetAsyncKeyState( __in int vKey); win32平台下的按键处理用到这个GetAsyncKeyState( __in int vKey);函数它要求传的值就是上表中的键位值。//具体用法如下#if(CC_TARGET_PLATFORM == CC_PLATFORM_WIN32转载 2013-06-19 15:12:24 · 1950 阅读 · 0 评论