08 2018 档案
摘要:volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。 如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象,这就是著名的缓存
阅读全文
摘要:mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。 在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 我们知道,被const关键字修饰的函数的一个重要作用就
阅读全文
摘要:今天在代码里看到了这样一段代码: 起初一直搞不懂为什么要加个typename,后来搜索了一下才知道这个关键字是有目的的: 如果不加这个关键字,编译器就不知道RefBase::weakref_type到底是个什么东西?可能是静态成员变量,也有可能是静态成员函数,也有可能是内部类。 加上这个关键字等于手
阅读全文
摘要:C++中的友元函数主要应用于以下场景: 友元函数 第一种场景 代码中有一个全局函数,该函数想要去访问某个类的成员变量(该类的成员变量是private的,且该类并未提供任何获取获取私有成员变量的public方法),这时候可以在这个类中把该全局函数声明为友元函数,这样这个全局函数就具备了能够获取那个类的
阅读全文
摘要:C++中的static成员变量主要用来为多个对象共享数据 例: 运行结果:小明的年龄是15,成绩是90(当前共有1名学生)李磊的年龄是16,成绩是80(当前共有2名学生)张华的年龄是16,成绩是99(当前共有3名学生)王康的年龄是14,成绩是60(当前共有4名学生) 需要注意的是: 1.static
阅读全文
摘要:1、相同点 为了避免同一个文件被include多次。 2、不同点 在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 #ifndef的方式依赖于宏名字不能冲突,这不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会被不小心同时包含。当然,缺点
阅读全文
摘要:所谓模板函数其实就是建立一个通用函数,这个通用函数的形参类型不具体指定,用一个虚拟类型来代表,这个通用函数就被称为函数模板。 例:
阅读全文
摘要:上午测试报了一个bug:说是一只手指拖动虚拟摇杆上的View滑块不松,另一只手指点击Home键将App压后台,重新进入的时候,View滑块卡死了。 刚开始看到这个问题感觉很奇怪,因为正常情况下,手指离开屏幕,收到ACTION_UP事件后,滑块肯定是会返回中心点的。但是这种情况很明显就是没有收到ACT
阅读全文
摘要:使用Source insight的时候想看文件的全路径,但是默认的是中间省略的路径,所以可以通过: 1.Options-->Preferences-->Display 设置Trim long path names with ellipses为取消选择。如图: 我的Source Insight 4.0
阅读全文
摘要:例: 在Java中定义一个属性,然后用C语言将其设置成另外的值,并输出出来。 Java代码: Person.java MainActivity.java C代码; test_jni.c 编译成功后,在eclipse中的运行结果为: 第一个是在C代码中读取到的Java中成员变量age的值。 第二个是在
阅读全文
摘要:1.双击选中需要查看的接口名称,然后右击选择“Show in Relation Window” 2.然后在右侧会弹出一个Relation的窗口 如果没有列出对应的实现类,可以在接口名上再次右击,依次选择“View Relation”-"Derived Classes" 最后: <END>
阅读全文
摘要:一直不明白这个isCopy是什么意思,只知道每次使用的时候都传NULL,今天看到了相关的资料,特来分享下。 当从JNI函数GetStringChars中返回得到字符串B时,如果B是原始字符串java.lang.String的拷贝,则isCopy被赋值为JNI_TRUE。如果B和原始字符串指向的是JV
阅读全文
摘要:虽然Git诞生距今已有12年之久,网上各种关于Git的介绍文章数不胜数,但是依然有很多人(包括我自己在内)对于它的功能不能完全掌握。以下的介绍只是基于我个人对于Git的理解,并且可能生编硬造了一些不完全符合Git说法的词语。目的只是为了让Git通俗化,使初学者也能大概了解如何快速上手Git。同时,下
阅读全文