随笔分类 -  编程语言

MATLAB、C++、JAVA、JavaScript、LUA...
摘要:条款01:视C++为一个语言联邦 Q. C++联邦由哪些次语言构成? C:基础语法 面向对象:类、封装、继承、多态、虚函数等 模板:泛型编程和模板元编程(TMP) STL:标准模板库,包含容器、迭代器、算法和函数对象的设计模式 Q. 为什么要视为语言联邦? 为了不同的子语言使用不同的编程习惯。 条款 阅读全文
posted @ 2025-08-11 20:55 番茄玛丽 阅读(25) 评论(0) 推荐(0)
摘要:一、Deque 双端队列 特点:双向进出的分段连续线性空间。 1 typedef T value_type; 2 typedef value_type* pointer; 3 typedef size_t size_type; 4 5 typedef __deque_iterator<T,T&,T* 阅读全文
posted @ 2022-07-21 15:51 番茄玛丽 阅读(68) 评论(0) 推荐(0)
摘要:STL 六大组件 容器 containers:用来存放数据,如vector、list、deque、set、map 算法 algorithms:sort、search、copy、erase 迭代器 iterators:泛型指针。 仿函数 functors:行为类似函数,可作为算法的某种策略。 配接器 阅读全文
posted @ 2022-07-19 13:54 番茄玛丽 阅读(79) 评论(0) 推荐(0)
摘要:0. 为什么需要使用动态内存? 不知道自己需要使用多少对象 —— 容器类 不知道所需对象的准确类型 需要在多个对象间共享数据 —— shared_ptr 1. 为什么要用智能指针? 内存泄漏:野指针崩溃。 内存溢出:忘记删除,占用内存。 UE里,UObject类会在引擎关闭时自动释放资源,那么没有继 阅读全文
posted @ 2022-07-04 19:05 番茄玛丽 阅读(557) 评论(0) 推荐(0)
摘要:1. #ifndef 和 #program once的区别 2. #include <> 和 “ ” 的区别 3. 无符号和有符号都有1、2、4字节的结构,什么时候用无符号数?什么时候用有符号数? 4. #pragma pack(push,packing) #pragma pack(pop,pack 阅读全文
posted @ 2022-07-04 14:50 番茄玛丽 阅读(52) 评论(0) 推荐(0)
摘要:1)数据类型 2) 变量声明: val:对应java - final ,不可变的变量(这不是常量嘛?) eg. 表示一个区间 val range = 0..10 或 val range = 0 until 10 var:可变变量 3)函数 格式:fun functionname(param1:Int 阅读全文
posted @ 2022-03-07 18:06 番茄玛丽 阅读(222) 评论(0) 推荐(0)
摘要:特点:又叫发布者/订阅者模式,定义了一种一对多的关系,当被监听对象发生变化时,会通知所有观察者对象。 思考:委托里学过的多播委托,一个委托可以注册多个方法,当这个委托执行时,所有的方法都会被调用。 案例:猫追老鼠经典案例。一只猫来了之后,所有的老鼠都跑了。 1 using System.Collec 阅读全文
posted @ 2022-01-04 11:50 番茄玛丽 阅读(171) 评论(0) 推荐(0)
摘要:设计模式总原则:开闭原则(对扩展开放,对修改关闭) 1.单一职责原则:每个类有单一的职责,如若不然就要把类拆分。 2.里氏替换原则:开闭原则是实现抽象化,而里氏替换原则是抽象化的具体实现。 3.依赖倒转原则:是开闭原则的基础,面向接口编程,依赖抽象而不是依赖具体。 4.接口隔离原则:使用多个隔离的接 阅读全文
posted @ 2021-12-25 16:40 番茄玛丽 阅读(378) 评论(0) 推荐(0)
摘要:一、Lua保留关键词释义 local :加在变量名前表示局部变量 nil:表示一个无效值,未初始化的变量默认为nil,如果你想删除一个变量,只需要赋值为nil。在条件表达式中相当于false。 and、or、not:逻辑运算符 true、false:boolean类型。除了false和nil,其他都 阅读全文
posted @ 2021-12-08 16:29 番茄玛丽 阅读(218) 评论(0) 推荐(0)
摘要:内存 值类型:struct 声明在哪就在哪 引用类型:string,class 在堆上 栈上的内容编译器自动回收,堆上的内容CLR回收。 String 和 StringBuilder 的区别: StringBuilder可设置容量,String每个对象长度固定。 StringBuilder每次都在自 阅读全文
posted @ 2021-08-27 15:02 番茄玛丽 阅读(80) 评论(0) 推荐(0)
摘要:1.初始化 与C++区别: C#: int[] Array; √ 可以先声明成未知大小,后面再new大小和赋值 C++: int Array[]; × error C2133: “Array”: 未知的大小 C#: int[] Array={1,2,3,4,5}; √ C++: int Array[ 阅读全文
posted @ 2021-06-20 17:25 番茄玛丽 阅读(154) 评论(0) 推荐(0)
摘要:string类型 构造函数 public string(char[] value) public string(char[] value,int offset,int count) 拼接字符串: + or += 比较字符串 public static int Compare(string strA, 阅读全文
posted @ 2021-06-19 10:04 番茄玛丽 阅读(240) 评论(0) 推荐(0)
摘要:命名法: Pascal 帕斯卡命名法:所有单词首字母大写 camel 驼峰命名法:从第二个单词开始首字母大写 1.主函数 Main static void Main(string[] args){} 必须定义为static M必须大写,C#区分大小写 返回值只能是 void 或 int 2.变量 类 阅读全文
posted @ 2021-06-19 09:57 番茄玛丽 阅读(137) 评论(0) 推荐(0)
摘要:Linux下编译: g++ main.cpp -std=c++11 g++ mian.cpp -std=c++14 弃用: 1.字符串字面值常量赋值和初始化,用 const char * 或 auto,弃用 char *。 C11 新增: 1. noexcept 标记某个函数或表达式在运行时不会抛出 阅读全文
posted @ 2018-07-28 19:09 番茄玛丽 阅读(201) 评论(0) 推荐(0)
摘要:运行环境: Windows for LUA: https://code.google.com/archive/p/luaforwindows (Cocos2d-Lua集成的Lua解析器是 5.1版本) Lua的所有代码都是由标准ANSI C编写而成。 特点:易嵌入C/C++、简单、轻量、易学、高性能 阅读全文
posted @ 2018-05-08 18:25 番茄玛丽 阅读(201) 评论(0) 推荐(0)
摘要:参考微软在线文档有关“通用数据类型和数据类型”的章节 单字节字符集:ASCII 缺点:只能显示现代美国英语(基本拉丁字母、阿拉伯数字、英式标点) 双字节字符集:GB2312 ASCII基础上,127号之前保留,两个127号之后的字符连在一起就表示一个汉字 多字节字符集:Unicode 收录了地球上所 阅读全文
posted @ 2018-04-27 23:47 番茄玛丽 阅读(280) 评论(0) 推荐(0)
摘要:C++中虚函数的唯一用处就是构成多态。 C++提供多态的目的是:可以通过基类指针对所有派生类(包括直接派生和间接派生)的成员变量和成员函数进行“全方位”的访问,尤其是成员函数。如果没有多态,我们只能访问成员变量。 只有派生类的虚函数遮蔽基类的虚函数(函数原型相同)才能构成多态。 构造函数不能是虚函数 阅读全文
posted @ 2018-04-27 17:03 番茄玛丽 阅读(129) 评论(0) 推荐(0)
摘要:初始化:const对象一经创建其值不能再改变,所以const对象必须初始化。 范围:默认const对象仅在文件内有效。例外:extern const 常量引用:不能通过该引用修改所绑定的对象。 指针和const: *const 常量指针:把指针本身定义为常量 不变的是指针本身的值,而非所指向常量的值 阅读全文
posted @ 2018-04-16 19:48 番茄玛丽 阅读(277) 评论(0) 推荐(0)
摘要:复合类型:基于其他类型定义的类型。引用和指针属于其中两种。 C++11:新增右值引用。(一般所说的引用为左值引用) 新增字面值:nullptr 初始化指针 引用 引用即别名:是为一个已经存在的对象起的别名。 绑定(Bind):定义引用时,程序将引用和它的初始值绑定在一起,而不是拷贝初始值给引用。 操 阅读全文
posted @ 2018-04-16 10:31 番茄玛丽 阅读(195) 评论(0) 推荐(0)
摘要:1.“\n”和endl的区别? std::endl 输出一个换行符,并立即刷新缓冲区。 对于有输出缓冲的流(例如cout、clog),如果不手动进行缓冲区刷新操作,将在缓冲区满后自动刷新输出。 对于无缓冲的流(例如标准错误输出流cerr),刷新是不必要的,可以直接使用 '\n'。 2. auto和d 阅读全文
posted @ 2018-04-03 15:25 番茄玛丽 阅读(224) 评论(0) 推荐(0)