`
墙头上一根草
  • 浏览: 154051 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
c++的函数的返回值 如果是指针,则一定要注意,必须返回有效的地址,及这个地址必须是有值的或者是0,    法则一:绝对不能返回局部变量的地址指针  法则二:绝对不能返回局部变量的引用    详细解析,可以参考,c++入门经典的函数编程一章
C++中 函数的调用,和java一样的,区别是java叫方法,c++叫函数。   c++的函数参数还可以指定默认值,如果某个参数被指定默认值,则调用程序可以不用传递这个参数的值,可以使用默认的   但是c++的函数的参数要比java复杂的多,主要是c++区分引用、常量以及指针,主要的区别看一下的例子以及例子的注释     class Power{public:    Power(void);    ~Power(void);    double calPower(double x,int n);    /**计算某个数的平方--函数中用到n为 n的副本,所以函数执行不会修改n的值 ...
        java的锁 synchronized 其实就是锁对象 , 原来锁对象, 不是说把整个对象都只能给这一个线程用,可以同时多个线程获得这个锁,获得这个锁的原理是, 获得这个对象的监视器,拿到这个监视器,就相当于获得进入这个对象的权利,然后等到jvm的调度进入对象。java锁的实现原来是通过计数器实现的,当一个线程获得监视器计数器就加1,释放这个监视器就减1 当计数器为0的时候,  锁就释放
    前段时间一直在忙着游戏的开发工作,很少有时间看cocos2dx,最近时间比较充裕,又重新开始cocos2dx的学习工作。    话说看了 testcpp的一些源码,看了各种例子和视频教程,到现在突然间觉得无从下手了,碉堡了,所以我觉得有必要梳理一下学习的思路,以免走错道。    话不多说,开始记录     首先按惯例开始创建第一个项目hello world,创建的方式很多种,在这里我用的是python脚本方式创建的,网上查看了一下,大家貌似都推荐这种创建方式,创建的步骤,在另外一边文章中有记录了,在这里就不多说了,网上的文章一大推,搜索方式 百度,输入cocos2dx python ...
#与##在宏定义中的--宏展开 #include <stdio.h> #define f(a,b) a##b #define g(a)   #a #define h(a) g(a) int main() {         printf("%s\n", h(f(1,2)));   // 12         printf("%s\n", g(f(1,2))); // f(1,2)         return 0; } 宏展开时: 如果宏定义以#开头,不展开参数,直接替换。 故g(f(1,2))--->#f(1,2)--->&quo ...
  c++ 函数指针应用很广泛,用来表示指向某一类函数     首先话不多说,看例子          typedef CCLayer* (*NEWTESTFUNC)();        在这里  typedef  是c++关键字,用来定义一个类型,可以为某个变量定义别名等等,在这里的意思就是定义一个函数指针           CCLayer* 函数的返回值      *NEWTESTFUNC 函数指针的名字        ()  函数的参数,可以带参数或不带参数        在这里需要记一下      typedef  定义的是一种数据类型   #i ...

c++ 宏定义

    博客分类:
  • c++
  c++ 的宏定义 有助于提高开发的效率,方便快捷,并且提高程序的执行效率   宏可以定义一个带参数的宏  或者 不带参数的宏    带参数的宏定义  宏名和参数之间一定不能有空格,否则参数会被当做宏体处理    带参数宏定义:#define <宏名>(<参数表>) <宏体>    eg:#define SUB(a,b) a-b               result=SUB(2, 3);              则被替换为:result=2-3;   不带参数的定义 :就是将标识符定义为一个字符串    eg:#def ...
关于mysql的锁行还是锁表,这个问题,今天算是有了一点头绪,mysql 中 innodb是锁行的,但是项目中居然出现了死锁,锁表的情况。为什么呢?先看一下这篇文章。   做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设 id=1 的这本书库存为 1 ,但是有 2 个人同时来借这本书,此处的逻辑为 Select   restnum from book where id =1 ;     -- 如果 restnum 大于 0 ,执行 update  Update   book set restnum=r ...
最 近在看Java,在编译写书上一个例子时,由于书上的代码只有一部分,于是就自己补了一个内部类。结果编译时出现:No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing instance of type E(e.g.  x.new A() where x is an instance of E). E指代我写的那个内部类。 根据提示,没有可访问的内部类E的实例,必须分配一个合适的内部类E的实例(如x.new A(),x必须是E的实例。)看着这句提示,我就纳闷了,我已 ...
import static静态导入是JDK1.5中的新特性。一般我们导入一个类都用 import com.....ClassName;而静态导入是这样:import static com.....ClassName.*;这里的多了个static,还有就是类名ClassName后面多了个 .* ,意思是导入这个类里的静态方法。当然 ...
package cache;   import java.lang.ref.Reference; import java.lang.ref.WeakReference; import java.util.Map; import java.util.WeakHashMap; import java.util.concurrent.locks.ReentrantReadWriteLock;   public class WeakCache<K, V> {     private final Map<K, Reference< ...
一直以为java的sleep不准,原来是测量方法错了--一直都是用System.currentTimeMillis()来计算时间差,实际上这是不准确的,System.currentTimeMillis()的返回有10到15毫秒误差,用来测量Thread.sleep(0)得到的要么是0要么是10或15, 但用System.nanoTime()来测量的话,误差不超过1毫秒.     API 解释:       static long currentTimeMillis()           返回以毫秒为单位的当前时间。 static long nanoTime()    ...
public class QuickSort{     public  void sort(int[] arr,int low,int high){         int pos=0;         if(low<high){             pos=part(arr,low,high);             sort(arr,low,pos-1);             sort(arr,pos+1,high);         }     }     public  int part(int[] arr,int low,int high){    ...

c++ 学习记录

    博客分类:
  • c++
     最近一直都在看c++,抱着一本书,很看了2个星期,发现对c++的理解又更进入一步了,同时也帮助我更深层次的理解了一下java,只是一些简单的记录,以后会慢慢更新,看到的人不喜欢勿喷!,只是个人的记录,怕以后忘记
mysqldump -uroot -h127.0.0.1 myfans > /usr/backups/myfan2013-11-29.sql
Global site tag (gtag.js) - Google Analytics