编程语言
文章平均质量分 72
总结记录编程语言的编程经验、对语法、原理的理解
三七、
eeeee,曲项向天歌
展开
-
操作系统终端输入大小限制
问题描述使用c++写算法题时,测试用例是一个长字符串(上万字符), 但运行结果显示字符串读入的长度远远小于输入长度。并且不同操作系统下面显示出了不同的bug:macos: 输入字符串长度只有1000+,超过这个长度成都就会卡在cin那行代码。ubuntu18.04: 程序不报错,读入字符串长度为4095, 超过这个长度的字符都被’\000’替代。windows: 读入字符串长度4094, 并报段错误。解决操作系统的终端对输入流大小有限制,通常为1kb-4kb,也就解释了上面的bug出现原因原创 2021-04-12 10:35:34 · 1155 阅读 · 4 评论 -
微信小程序-外部JS修改当前页面内容
微信小程序提供了数据绑定,通过setData()函数,可以在页面对应的js内实现修改前端界面内容。但是如果在外部js函数体中如果有异步网络请求,则不能通过返回值的方式传参了。这种情况下,只需要将本页面对象通过参数传到外部函数,在外部函数中调用setData()即可,类似C++中的引用(事实上则本来就是引用传值)。// index.js 页面const tencentcloud = requi...原创 2019-08-13 18:57:16 · 3336 阅读 · 1 评论 -
C++语法糖
语法记录原创 2021-02-01 11:28:55 · 574 阅读 · 0 评论 -
Python高级编程技巧
坑坑坑mutiproccesssing多进程不能共享主进程的全局变量、甚至常量。如果需要共享常量、最简单的办法是传参。如果是要使用共享变量,只能使用mutiproccesssing.Manager()下面的工具了。python全局变量不能在函数内被修改,除非再用global关键字声明。含中文的话,文件头声明# coding:utf-8pythonic链式比较points[3][0]......原创 2019-11-13 10:03:17 · 795 阅读 · 0 评论 -
Python使用inspect库获取调用堆栈信息
由于logging库在云端系统的各种问题,需要自己实现一个日志器。通过inspect可以获取到当前函数的调用者所在行号、函数名等信息。也就是程序运行堆栈监视。建议日志如下:class getLogger(): def debug(self, msg): if DEBUG: print('%s - DEBUG:%d - %s'%(time.strf...原创 2019-08-28 16:54:56 · 1083 阅读 · 0 评论 -
Python自定义类的大小比较及排序
在编程中经常会遇到自定义对象的排序或者堆维护的问题,这就需要数据结构中的元素可比较大小,由于heapq或者list.sort()都只使用小于<比较,所以只需要定义类的__lt__()方法即可,在Python3中,所有类都有该默认函数,其他函数见下表 此处我们只需要重写该函数, 然后就可以愉快的进行排序比较啦:class OB(): def __init__(self,n...原创 2019-03-17 10:13:00 · 9483 阅读 · 0 评论 -
python函数参数*args, **kwargs其实很好区分
可变参数args,kwargs只是默认变量名称,翻译一下就是列表参数和字典参数(key-word args),关键之处是这里的*和**,这两个都是可变参数。在函数定义时使用可变参数Python函数定义中的参数声明一般有三种方式:# 1. 显示参数(瞎编的)def func1(name, age): pass# 调用方式:func1('Lily', 12)func1(name='Lily', age=12)... 2. 列表参数 def func2(*args):原创 2020-06-21 12:10:44 · 377 阅读 · 1 评论