一、C++中的函数重载机制函数定义时的处理:编译器的函数符号命名机制,C++对代码进行编译时会根据函数名、参数列表(参数类型、数量、顺序)等对函数进行重新命名;函数调用时的处理:(我曾经错误理解为调用时的处理和处理函数定义时类似,通过判断参数类型来得到函数名进行调用,但是这种粗暴的方式会有很多逻辑漏洞,比如未考虑到有默认参数的函数调用,未考虑到编译器自动类型转换的函数调用等)在函数调用时,编译器如
转载 2024-04-11 15:10:11
78阅读
luac.c 是编译器 luac 的入口文件。老规矩,从 main 函数看起,看看这个过程中程序都做了些什么?int main(int argc, char* argv[]) { char* d="luac.out"; /* default output file */ int i; for (i=1; i<argc; i++) { if (argv[i]
转载 2024-03-19 20:33:08
121阅读
Java中位操作:一.位与字节的概念bit (位) bit 电脑记忆体中最小的单位,在二进位电脑系统中,每一 bit 可以代表 0 或 1 的数位讯号。所以它能表示的数字范围就是 0或是1 byte (字节) 一个 byte 由 8 bit 组成,所以理论上一个 byte 能表示的数据范围是 0 ~ 255 二.java中基础数据类型的储存长度 short:2 个字节。 int:4 个字节。 lo
     Lua包库为lua提供简易的加载及创建模块的方法,由require、module方法及package表组成  1、module (name [, ···])      功能:建立一个模块。  module的处理流程:       module(name, cb1, cb2, ...)  a
转载 2024-07-18 01:49:59
95阅读
Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。What's On In Databend探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。新数据类型:BITMAP Databend 新增对 BITMAP 数据类型的支持。BITMAP 是一种压缩数据结构,可
1、介绍Bit Manipulation(位运算):一共五种运算:与,或,异或,左移,右移。2、算法题目一般使用总结:(1)n & (n-1)能够消灭n中最右侧的一个1。(2) 右移:除以2, 左移:乘以2。(3)异或性质:a1^a2^a3 = a2^a3^a1 交换律,0^a=a, a^a=0。
原创 2022-03-11 10:10:43
279阅读
1、介绍Bit Manipulation(位运算):一共五种运算:与,或,异或,左移,右移。2、算法题目一般使用总结:(1)n & (n-1)能够消灭n中最右侧的一个1。(2) 右移:除以2, 左移:乘以2。(3)异或性质:a1^a2^a3 = a2^a3^a1 交换律,0^a=a, a^a=0。
原创 2021-08-12 15:34:43
496阅读
运算符介绍    位移运算符是在二进制的基础上对数字进行平移。分为以下三种:       a<<b 左移 ( 格式:需要移动的数字 <<  要移动的次数)        把a转换后的二进制所有数字向左移动b次,高位舍弃,低位的空位置补零。(int:32位[byte
运算Bit Operation)
原创 2023-05-15 16:58:43
283阅读
一、Lua的介绍Lua 语音是由巴西里约热内卢天主教大学 ([Pontifical Catholic University of Rio de janeiro ) 里的一个研究小组与 1993年开发的一种轻量小巧的脚本(弱语言)语言,用标准 C 语音编写,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 作为一种扩展语言,Lua 没有“主”程序的概念:它嵌入在宿主客户端中运
因为每一版本的源码可能会有差别,现在基于lua 5.2.1来分析,保持一致性。从虚拟机的大体来看,字符串通过一个结构体存放在global_State里,这个结构stringtable(lstate.h)是:GCObject(lstate.h)的结构是:stringtable结构体的字段含义是:GCObject **hash: GCObject指针的指针,通过Hash值可以指向Hash值存
转载 2024-03-25 08:56:48
61阅读
简介:Lua中,Table是很重要的一个部分,它可以表示很多的数据结构,可以是Array,可以是Map,可以根据自己的需要实现栈,队列等等,使用起来方便分析:Table分为2部分,分别是数组Array和Hash部分。数组部分主要是存储下标从1开始的连续不为空的节点内容,如果是中间断开部分会存到hash部分。Hash部分是存储各种类型的离散数据 对于一个Table初始化的时候,如果是空表,
背景知识Bit:比特(Bit),也称二进制位,指二进制中的一位,是计算机信息的最小单位。Bit是Binary digit(二进制数位)的缩写,还可被缩写为b。字节(港澳台称位元组,Byte),一个字节代表8个比特,也被缩写为B,在工业标准、网络、电信技术中也被成为八位组(Octet)。 字面量,可以理解为给人看的内容,比如在python代码中有:str_demo str_demo = "abc"
 Lua 运算运算符是一个特殊的符号,用于告诉解释器执行特定的数学或逻辑运算Lua提供了以下几种运算符类型:算术运算符关系运算符逻辑运算符其他运算符算术运算符下表列出了 Lua 语言中的常用算术运算符,设定 A 的值为10,B 的值为 20:实例我们可以通过以下实例来更加透彻的理解算术运算符的应用:实例a = 21 b = 10 c = a + b print("Line 1 - c
Lua中,表达式包括:数值常量、字符串字面值、变量、单目和双目运算符,函数调用,也包括一些非传统的函数定义和表结构。1.算术运算Lua支持常规的算术运算符:'+', '-', '*', '/', '^', '%', '-'(负)。所有这些运算符都对实数起作用。举个例子,x^0.5, 计算x的平方根, x^(-1/3),计算x的立方根的反数。在Lua中,'%'运算符定义规则如下:a%b
                  【Lua基础系列】之类型与值 (函数Function)       大家好,我是Lampard~~       欢迎来到Lua基础系列的博客       
MySQL之运算符        运算符是用来连接表达式中各个操作数据的符号,其作用是指明对操作数所进行的运算。MySQL支持运算符的使用,通过运算符可以更加灵活的操作表中的数据。MySQL主要支持算数运算符、比较运算符、逻辑运算符和位运算符。1、算数运算符:加法+    减法-
转载 2023-07-05 23:32:57
46阅读
循环 比如要实现这样的一个For for(int i=10;i>1;i—) { print(i) } lua的for循环 转换成LUA for i=10,1,-1 do print(i) end 在循环里我们常用的 –i ,i++在LUA里不支持,只能写成 i= i-1 ;i=i+1 until循环
原创 2021-07-20 17:53:44
461阅读
Number类型:Number类型是ECMAScript中最常用和最令人关注的类型了;这种类型使用IEEE754格式来表示整数和浮点数值(浮点数值在某些语言中也被成为双精度数值),为支持各种数据类型,ECMA-262定义了不同的数值面量格式。十进制:var intNum=10; //整数八进制:var octalNum1=070; //八进制的56 var octalNum2=079; //无效的
文章目录模块与包require 函数搜索路径编写模块的基本方法使用环境子模块与包 模块与包从用户观点看,一个模块就是一些代码(Lua 或 C 代码),可以使用 require 函数加载这些代码,然后创建并返回一个 table 。这个 table 就是一个名称空间(namespace),其中包含模块导出的所有东西,比如函数和常量。例如,所有的标准库都是模块。可以以如下的方式使用数学库:local
转载 7月前
16阅读
  • 1
  • 2
  • 3
  • 4
  • 5