- 博客(63)
- 资源 (2)
- 收藏
- 关注
原创 【Effective modern C++ 提炼】《类型推导》- Item3:《decltype》
在C++11中,decltype的主要使用目的,及C++14的扩展decltype(auto)在初始化表达式中的应用decltype有关于引用的规律总结更改decltype所报告的类型Things to RememberGivent a name or an expression,decltype tells you the name’s or th...
2018-08-24 23:13:52 343
原创 【Effective modern C++ 提炼】《类型推导》- Item2:《auto的类型推导》
aoto与函数模板的参数类型推导相似的推导规则aoto与函数模板的参数类型推导的不同之处当auto用于函数的返回,以及lambda参数时Things to Rememberaoto与函数模板的参数类型推导相似的推导规则相比于“函数模板类型推导”template<typename T>void f(ParamType);f(exp...
2018-08-24 23:08:27 471
原创 【Effective modern C++ 提炼】《类型推导》- Item1:《模板类型推导规则》
Case1. ParamType 是一个指针/引用类型(不是通用引用);Case2. ParamType 是一个通用引用;(区别于“左值引用”和“右值引用”)Case3. ParamType 既不是指针,也不是引用;以数组为参数以函数为参数Things to Remembtemplate<typename T>void f(Param...
2018-08-24 23:04:57 397
原创 【KeyWord】- typename
Qualified and Unqualified NamesDependent Names and Non-Dependent NamesThe ProblemThe Solutiontypename 严禁在以下情况使用:Qualified and Unqualified Names#include <iostream>int m...
2018-08-24 22:56:48 284
原创 关于C++的左值和右值,及右值引用和std::move、std::forward的意义.
【何为左值,何为右边值?】【什么是移动语义?】【右值引用】【右值引用就是右值吗?】【移动语义和编译器的优化】【完美转移】【一些总结】 Rvalue references solve at least 2 problems: 1. Implementing move semantics;(移动语义有助于高效拷贝) 2. Perfec...
2018-08-24 22:48:55 595
原创 Linux学习记录 - (2)操作系统启动过程
本系统为:CentOS 6.4 补充: Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备; Boot Loader有若干种,其中Grub、Lilo和spfdisk是常见的Loader;操作系统...
2018-04-19 13:25:30 319
原创 Linux学习记录 - (1)计算机初始化启动过程
为什么我们把 “启动” 称作 “boot” ? boot原来的意思是靴子,”启动”与靴子有什么关系呢? 原来,这里的boot是bootstrap(鞋带)的缩写,它来自一句谚语: ‘pull oneself up by one’s bootstraps’ 字面意思是”拽着鞋带把自己拉起来”,这当然是不可能的事情。最早的时候,工程师们用它来比喻,计...
2018-03-15 00:03:00 544
转载 C#与C++的交互(动态链接库DLL)
本文章转载自《C#与C++ DLL的交互 》 ye_ming C#与C++交互,总体来说可以有两种方法: (1) 利用C++/CLI作为代理中间层; (2) 利用PInvoke实现直接调用;第一种方法:实现起来比较简单直观,并且可以实现C#调用C++所写的类,但是问题是MONO架构不支持C++/CIL功能,因此无法实现脱离Microsoft.NET Framework跨...
2018-02-08 17:13:23 1211
原创 汇编指令 中英文助记表
寄存器类通用寄存器 累加器(E)AX = accumulator 基址寄存器(E)BX = base 计数器(E)CX = counter 变址寄存器(E)DX = data 段寄存器 代码段寄存器CS = code segment 数据段寄存器DS = data segment 堆栈段寄存器SS = stack segment 附加段寄存器ES = extra segm...
2018-02-08 16:10:24 1375
转载 动态链接库(dll) - 隐式加载(载入时加载)和显式加载(运行时加载)
本文章转载自C语言中文网静态链接库在链接时,编译器会将 .obj 文件和 .LIB 文件组织成一个 .exe 文件,程序运行时,将全部数据加载到内存。 如果程序体积较大,功能较为复杂,那么加载到内存中的时间就会比较长,最直接的一个例子就是双击打开一个软件,要很久才能看到界面。这是静态链接库的一个弊端。动态链接库有两种加载方式:隐式加载和显示加载。 隐式加载...
2018-02-07 23:44:16 827
转载 动态链接库(dll) - 第一个DLL程序
本文章转载自C语言中文网DLL 程序的入口函数是 DllMain(),就像 DOS 程序的入口函数是 main()、Win32 程序的入口函数是 WinMain() 一样。 DllMain() 函数的原型为: BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPV...
2018-02-07 22:38:37 406
转载 动态链接库(dll) - 简介及与静态链接库的区别
本文章转载自C语言中文网DLL 是 Dynamic Link Library 的缩写,译为“动态链接库”。DLL也是一个被编译过的二进制程序,可以被其他程序调用,但与 exe 不同,DLL不能独立运行,必须由其他程序调用载入内存。 DLL中封装了很多函数,只要知道函数的入口地址,就可以被其他程序调用。Windows API中所有的函数都包含在DLL中,其中有3个最重要的DL
2018-02-07 19:59:39 408
原创 Lua5.3.4 源码编译(win10、vs2015)
ide:vs2015 system:win10 source:lua5.3.4 generous:lua.exe(解释器)、luac.exe(编译器)、 lua.lib(静态库)、luad.dll luad.lib(动态库)最终结果 静态库创建工程Lua53与项目Lua53-lib(自动生成的任何文件都删掉) 在工程根目
2018-02-07 14:40:47 887
原创 python学习记录 — (10)面向对象-类
ObjectOriented.py#coding=utf-8#################################### Python面向对象 ######################################################## 封装 ####################class People: # 定义类(使用
2018-02-05 16:30:19 337
原创 Lua学习记录 — (11)迭代器
Iterators.lua------------------------------------ 迭代器 ----------------------------------------- 泛型for迭代器-- 泛型for在自己内部保存迭代函数,实际上它保存了3个值:迭代函数、状态常量、控制变量-- 泛型for迭代器提供了集合的key/value对array = {'lua','py
2018-02-04 01:45:52 234
原创 Lua学习记录 — (10)面向对象-类(公有私有属性/静态,重写,运算符重载,继承等等)
BjaClass类模拟包——点击下载ObjectOriented.lua------------------------------------ Lua面向对象 -------------------------------------- Lua中没有直接的类定义方法;(需要通过模拟来实现)----- 类的封装-- Lua中的类可以通过 table 来模拟实现;do
2018-02-04 01:41:07 1570 1
原创 python学习记录 — (9)文件I/O
FileIO.py#coding=utf-8#################################### 文件I/O ####################################"""python提供了File库用于读取和处理文件;File对象需要通过open方法获取,并通过close方法关闭文件;"""##### open(file[,mode[,bu
2018-02-02 16:54:20 206
原创 数据结构封装之《LGraph邻接表式图》
说明: 邻接表是图的另一种有效的存储表示方法. 每个顶点u建立一个单链表, 链表中每个结点代表一条边《u, v》,为边结点,每个单链表相当于邻接矩阵的一行; 通过复用LinkList和LinkQueue的方法封装的LGraph,请看: 数据结构封装之《LinkList单向链表》 数据结构封装之《LinkQueue链式队列》 下面将给出该数据结构的代码
2018-02-02 11:48:21 771
原创 Lua学习记录 — (9)文件I/O
FileIO.lua------------------------------------ 文件I/O -------------------------------------- Lua的I/O库用于读取和处理文件,其提供了两种不同风格的接口;-- (1) 隐式文件句柄,简单模式;-- 1. 提供默认的输入\输出文件,所有的输入输出操作都针对这文件;--
2018-02-01 22:50:31 289
原创 python学习记录 — (8)模块与包
ModulePackage.py#coding=utf-8#################################### 模块与包 ########################################### 模块加载"""python模块(Module)是一个python文件,以.py结尾;模块能定义函数、类和变量,也能包含可执行的代码;"""## i
2018-02-01 22:19:18 369
原创 Lua学习记录 — (8)模块与包
ModulePackage.lua------------------------------------ 模块与包 ------------------------------------------- 模块加载-- Lua提供了一个名为require的函数来加载模块;-- require("") 或者 require ""-- require查找成功会返回加载器,否则会抛出错
2018-02-01 22:18:19 496
原创 Lua学习记录 — (7)列表、元组
– 最近修改: 2018/2/3 TableMetatable.lua------------------------------------ 表Table ---------------------------------------- 数组-- 一维数组array = {1,2,'a','b'}for i,v in ipairs(array) do print(v)
2018-02-01 22:13:39 3294
原创 python学习记录 — (7)列表、元组、字典
ListTupleDictionary.py# -*- coding: UTF-8 -*-#################################### List列表 ####################################### 列表基础lst = ['lua','python',5.1,2.7]print lst[0]
2018-02-01 22:12:30 270
原创 python学习记录 — (6)数字
Numbers.py#coding=utf-8#################################### 数字类型 ####################################"""改变数据类型,意味着重新分配内存空间;Numbers是不可更改对象,改变其值,相当于换个引用;"""#### 整形(Int)intVar = 10print typ
2018-02-01 22:11:15 277
原创 Lua学习记录 — (6)数字
Numbers.lua------------------------------------ 数字类型 --------------------------------------[=[改变数据类型,意味着重新分配内存空间;Numbers是不可更改对象,改变其值,相当于换个引用;]=]---- 只有numbers这个类型(标准Lua使用64位的整数和双精度浮点数)intVar
2018-02-01 22:10:04 435
原创 Lua学习记录 — (5)字符串
String.lua------------------------------------ Lua字符串表示方式 -------------------------------------- 单引号str = 'hello'-- 双引号str = "hello"-- [[]]str = [[hellobaby]]--------------------------
2018-01-31 18:29:33 332
原创 python学习记录 — (5)字符串
String.py#coding=utf-8#################################### Python字符串表示方式 ###################################### 单引号str = 'hello'## 双引号str = "hello"### 三引号str = """hellobaby"""#######
2018-01-31 18:27:21 256
原创 python学习记录 — (4)函数
Function.py#coding=utf-8#################################### python函数 ####################################def f1(param): "这是函数f1" # 函数定义第一行的字符串用于存放函数说明 print "这是f1函数,传入的参数为:" , param
2018-01-31 18:19:17 283
原创 Lua学习记录 — (4)函数
Function.lua------------------------------------ Lua函数 ------------------------------------function f1(param) print("这是f1函数,传入的参数为:" .. param) returnendf1(1)
2018-01-31 18:17:46 225
原创 python学习记录 — (3)条件语句与循环语句
ConditionalAndLoopStatement.py#coding=utf-8#################################### python条件语句 ####################################a,b,c = 1,2,0# if 语句if a and b: print (a and b)
2018-01-31 17:57:38 315
原创 Lua学习记录 — (3)条件语句与循环语句
ConditionalAndLoopStatement.lua------------------------------------ Lua条件语句 ------------------------------------a,b,c = 0,1,nil-- if 语句if (a and b)then print(a and b)
2018-01-31 17:48:21 664
原创 python学习记录 — (2) 运算符
Operator.py#coding=utf-8#################################### 算数运算符 ##################################### 加减乘除(+ - * /)a = 21b = 5c = a+b; print c # 26c = a
2018-01-31 17:46:38 215
原创 Lua学习记录 — (2) 运算符
Operator.lua------------------------------------ 算术运算符 -------------------------------------- 加减乘除(+ - * /)a = 21b = 5c = a+b; print(c) --> 26c = a-b; print(c
2018-01-31 17:44:26 285
原创 python学习记录 — (1) 变量及数据类型
BasicSyntax.py#coding=utf-8 # 指定编码格式'''#!/usr/bin/python # 告诉操作系统所使用python解释器的路径(这里是Linux系统路径)#!/usr/bin/env python # 指定路径找不到解释器的话,会在env(即环境变量)路径查找python解释器'''# 这里是单行注释'''
2018-01-31 17:41:03 292
原创 Lua学习记录 — (1) 变量及数据类型
BasicSyntax.lua--#!/usr/bin/lua -- 告诉操作系统所使用lua解释器的路径(这里是Linux系统路径)-- 这里是单行注释--[[ 这里是 多行注释]]--[=[ 这里是 多行注释]=]-- 代码块 (使用关键字)if (true)then result = "这里会输出,1" p
2018-01-31 17:37:53 451
翻译 OpenGL扩展库使用手册《GLEW—The OpenGL Extension Wrangler Library》
初始化GLEW First you need to create a valid OpenGL rendering context and call glewInit() to initialize the extension entry points. If glewInit() returns GLEW_OK, the initialization succeeded and you c
2017-09-03 16:49:33 1825
Lua类工具包《BjaClassTool》,完全模拟,公有私有属性/静态,继承,运算符重载等等!
2018-02-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人