存储类别,链接和内存管理 关键字:auto、extern、static、register、const、volatile、restricted、 _Thread_local、_Atomic 函数:rand()、srand()、time()、malloc()、calloc()、free() 如何确定变量 ...
分类:
编程语言 时间:
2020-05-09 17:30:04
阅读次数:
83
早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。 那当程序同时运行多个程序时,操作系统是如何为这些 ...
分类:
系统相关 时间:
2020-05-06 18:19:22
阅读次数:
115
什么是纯函数 纯函数是函数式编程中的一个根本概念. 纯函数要求一个函数输入对应输出, 没有其它任何副作用, 且引用透明. 过程: 没有返回值, 只有副作用的函数 一个纯函数有以下要求: 没有副作用 不向控制台打印 不向文件写入数据 不更改外部变量 不向其它文件系统写入数据 引用透明 这个函数执行结果... ...
分类:
其他好文 时间:
2020-05-01 11:06:27
阅读次数:
53
首先看一下lambda表达式的格式 [外部变量访问方式说明符] (参数表) -> 返回值类型 { 语句块 } 其实lambda表达式就是一个简单的函数 格式里面的参数,返回值,语句块 都是普通函数的参数 返回值和函数体 前面的访问方式说明符有两种 [&] [=] [=] 表示变量不可被修改 [&] ...
分类:
其他好文 时间:
2020-04-14 12:45:11
阅读次数:
71
C的变量类型、作用域与生命周期的总结 最近在看“C Programing Language" (Kernighan, Ritchie)关于外部变量的讨论,之前在学C的时候对这些extern, auto, static, register等不是太理解,这本书讲的很详细,现在总结一下。 首先, C的变量 ...
分类:
其他好文 时间:
2020-04-02 15:49:54
阅读次数:
66
lambda表达式完整声明 选自博主:https://www.cnblogs.com/DswCnblog/p/5629165.html [capture list] (params list) mutable exception-> return type { function body } cap ...
分类:
编程语言 时间:
2020-03-28 21:46:05
阅读次数:
79
使用构造函数创建对象时,函数内的this会在实例对象时指向对象本身,对象内的函数也会默认指向本身,但如果把对象内的函数环境提升,即重新赋值给外部变量,环境发生改变,则this指向也发生改变。 ...
分类:
其他好文 时间:
2020-03-07 16:26:49
阅读次数:
60
def fun1(): x = 5 # 非全局变量的外部变量,在fun2()的外部作用域里边 def fun2(): x *= x # 会报错未定义 return x return fun2()fun1()解决办法1:用容器存放,因为容器类型不是存放在栈里边(局部变量存放在栈里边),所以不会被屏蔽起 ...
分类:
编程语言 时间:
2020-03-06 01:22:24
阅读次数:
96
其实装饰器它就是一个闭包。装饰器实现的是,返回一个内嵌的函数以及函数所需要的外部变量, 什么是闭包?(https://www.bilibili.com/video/av49346682) 如果一个函数定义在另一个函数的作用域内,并且引用了外层函数的变量,则该函数称为闭包。 闭包例子: def out ...
分类:
其他好文 时间:
2020-03-06 01:06:17
阅读次数:
48
什么情况下可以使用装饰器:函数可以作为参数传递的语言,可以使用装饰? 装饰器的好处:可以极大地简化代码,在不改变原函数的基础上动态修改函数功能,避免每个函数写重复性代码.(可以让已有函数不做任何改动的情况下增加功能.可以使修改函数更加容易,本质上还是一个函数)经常用于以下方面: 1、打印日志 @lo ...
分类:
编程语言 时间:
2020-02-22 13:52:35
阅读次数:
80