2016-10-17 王财勇
模板函数应该将声明与定义放在一起 看如下例题: ``` //tem.h #ifndef _TEM_H #define _TEM_H template T add(T a, T b); //{ //return a+b; //} #endif //tem.cpp include "tem.h" template T add(T a, T b) { return a + b; } template int add(int, int);//实例化定义,必须放在模板定义的后面 //main.cpp include include "tem.h" using namespace std; int main() { 继续阅读 »
2016-07-02 YongHao Hu
C++
一个程序在运行过程中,函数调用时会向栈压入: 原来寄存器ebp的值, 参数, 以及调用函数的下一个指令地址 在调用一个函数时, 编译器就计算好函数需要的空间, 然后esp = ebp-需要的空间, 通过ebp+偏移量来访问. 在函数里调用另外一个函数时, 原来fun的ebp值压栈 继续阅读 »
2016-11-25 LEo
最近项目接近尾声,基本都是在fix bug,今天说说一个bug,是由于strncat函数使用不当导致命令行输出有乱字符。虽说只是一个很简单的小问题,但是不弄明白就是大问题。 1 strncat声明 ```c char *strncat(char *dest, const char *src, size_t n) 继续阅读 »
2017-11-29 Lingxian Kong
最近在 Qinling 项目中实现对 function 运行时做资源限制,主要是 cpu、内存和磁盘,后续还会考虑 package 大小、文件句柄、系统调用等资源限制。限制资源使用的原因很简单,因为底层是容器实现,function 都是跑在容器里,如果不做资源限制,任由用户自己在 function 里分配资源,那么不同用户的函数势必会相互影响,更严重的情况是恶意用户会利用一些手段突破容器的限制,威胁 hypervisor,进而威胁整个云环境。 继续阅读 »
2016-03-11 Li Shuai
延迟绑定 Python闭包函数所引用的外部自由变量是延迟绑定的。 In [2]: def multipliers(): ...: return [lambda x: i * x for i in range(4)] In [3]: print [m(2) for m in multipliers()] [6, 6, 6, 6] 如以上代码: i是闭包函数引用的外部作用域的自由变量, 只有在内部函数被调用的时候才会搜索变量i的值, 由于循环已结束, i指向最终值3, 所以各函数调用都得到了相同的结果。 解决方法: 1) 生成闭包函数的时候立即绑定(使用函数形参的默认值): In [5]: def multip 继续阅读 »
2016-08-15 craneyuan
在Java中,一个字符串可以使用下面这两种方式进行创建: String x = "abc"; String y = new String("abc"); 这两种创建字符串的方式有什么不同呢? 双引号 VS 构造函数 这个问题可以用下面这两个简单的代码实例来回答。 例子1: String a = "abcd"; String b = "abcd"; System.out.println(a == b); // True System.out.println(a.equals(b)); // True a==b是true,因为a和b都引用同一块内存地址。 当相同字符内容的字符串多次创建时,编译器只为其分配一块内存, 继续阅读 »
2013-03-12 刘太华
使用datetime, 构造一个cron task定期执行给定的函数方法 一个Plan类, 包含next_datatime, execute, 两个方法, init方法指明在实例化的时候,需要给定一个func作为参数, 其他参数可以是时间间隔, 或具体的时间点, 继续阅读 »
2017-02-05 高悦翔
本文是「Java 8 函数式编程」第二章的读书笔记。 Lambda引入的变化 Lambda表达式,是一种紧凑的、传递行为的方式,从编程思想上来讲,就是代码即数据。 过去的Java中,存在大量的匿名内部类的使用,会新建一个匿名内部类传入调用的方法中。这种传统的方式,会造成冗余的、不易阅读的代码。 继续阅读 »
2015-01-23 Robin Wen
目录 Table of Contents {:toc} 文/Robin 本站推广 币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。 币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872 邀请码: 11190872 一 引子 在 MySQL 中,可以有如下几种途径实现唯一值: 自增序列 UUID() 函数 程序自定义 UUID 基于 16 进制,由 32 位小写的 16 进制数字组成,如下: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee 比如 123e4567-e89b-12d3-a 继续阅读 »
2014-10-11 ALEX LIN
Windows API FindWindow 函数功能:该函数获得一个顶层窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数不查找子窗口。在查找时不区分大小写。 函数原型:HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName); 参数:IpClassName:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobafAddAtom函数产生的全局成员。该成员为16位,必须位于IpClassName的低 16位,高位必须为 0。 IpWindowName:指向一个指定了窗口名(窗口标题)的空 继续阅读 »