lua cclosure 的 upvalue 数量限制(转自云风的blog)
最近写的代码中出了一个奇怪的 bug ,很难调试出来。经过一个晚上的挣扎,终于发现了问题。
第一个问题,在 C 函数中,不能随意的时候 lua_State 中的虚拟机堆栈,如果需要大量使用堆栈,应该先调用 lua_checkstack 。少量使用堆栈,(在 LUA_MINSTACK 20 )之下时则没有问题。这个问题其实在文档里有写,我看过忘记了 :( 不过我个人还是觉得 lua_checkstack 的语义有点奇怪,从字面上看,这个 api 不应该有副作用。它能增加可用堆栈的大小违背了 checkstack 的词义。
关于C存储,取得,释放lua的引用
这篇文章详细描述了c怎样存储,取得,释放lua的引用,通过代码一一展现。转载请注明地址。
作者:Jonee
标准C++中的STL容器类简介
转自:http://blog.csdn.net/phunxm/archive/2009/12/26/5081472.aspx
SGI — Silicon Graphics[Computer System] Inc.硅图[计算机系统]公司.
STL — Standard Template Library 标准模板库。
容器的概念
所谓STL容器,即是将最常运用的一些数据结构(data structures)实现出来。
容器是指容纳特定类型对象的集合。根据数据在容器中排列的特性,容器可概分为序列式(sequence)和关联式(associative)两种。
迭代器是一种检查容器内元素并遍历元素的数据类型。它提供类似指针的功能,对容器的内容进行走访。
#include<iterator>
例如:
std::vector<int> IntVector;
std::vector<int>::iterator first=IntVector.begin();
// begin()得到指向vector开头的Iterator,*first得到开头一个元素的值
std::vector<int>::iterator last=IntVector.end();
// end()得到指向vector结尾的Iterator,*last得到最后一个元素的值