C++/C/lisp
文章平均质量分 64
deepfuture
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C 标准库函数getchar的陷阱
函数名字与返回值类型在语义上不可冲突。违反这条规则的典型代表是C 标准库函数getchar。例如:char c;c = getchar();if (c == EOF)?按照 getchar 名字的意思,将变量c 声明为char 类型是很自然的事情。但不幸的是getchar 的确不是char 类型,而是int 类型,其原型如下:int getchar(void);由于c 是char 类型,取值范围是...2009-12-21 20:43:00 · 156 阅读 · 0 评论 -
c++ -if语句比较注意
4.3.1 布尔变量与零值比较z 【规则4-3-1】不可将布尔变量直接与TRUE、FALSE 或者1、0 进行比较。根据布尔类型的语义,零值为“假”(记为FALSE),任何非零值都是“真”(记为TRUE)。TRUE 的值究竟是什么并没有统一的标准。例如Visual C++ 将TRUE 定义为1,而Visual Basic 则将TRUE 定义为-1。假设布尔变量名字为flag,它与零值比较的标准if...2009-12-21 20:44:00 · 296 阅读 · 0 评论 -
C++程序标识符注意
【规则3-1-1】标识符应当直观且可以拼读,可望文知意,不必进行“解码”。标识符最好采用英文单词或其组合,便于记忆和阅读。切忌使用汉语拼音来命名。程序中的英文单词一般不会太复杂,用词应当准确。例如不要把CurrentValue 写成NowValue。z 【规则3-1-2】标识符的长度应当符合“min-length && max-information”原则。几十年前老ANSI C ...2009-12-21 20:45:00 · 253 阅读 · 0 评论 -
C++类编码注意
类的版式类可以将数据和函数封装在一起,其中函数表示了类的行为(或称服务)。类提供关键字public、protected 和private,分别用于声明哪些数据和函数是公有的、受保护的或者是私有的。这样可以达到信息隐藏的目的,即让类仅仅公开必须要让外界知道的内容,而隐藏其它一切内容。我们不可以滥用类的封装功能,不要把它当成火锅,什么东西都往里扔。类的版式主要有两种方式:(1)将private 类型的...2009-12-21 20:46:00 · 138 阅读 · 0 评论 -
f o r k函数
一个现存进程调用f o r k函数是U N I X内核创建一个新进程的唯一方法(这并不适用于前节提及的交换进程、i n i t进程和页精灵进程。这些进程是由内核作为自举过程的一部分以特殊方式创建的)。 #i nclude <sys/types.h>#i nclude <unistd.h>pid_t fork(void);返回:子进程中为0,父进程中为子进程I D,出错...2009-12-21 20:48:00 · 278 阅读 · 0 评论 -
C++构造函数调用顺序
class Y {...}class X : public Y {...}X one;构造函数的调用顺序是下面的顺序:Y(); // 基类的构造函数X(); // 继承类的构造函数对于多基类的情况,下面是一个例子:class X : public Y, public ZX one;构造函数以声明的次序调用。Y(); // 基类构造函数首先被调用Z();X();虚基类...2009-12-21 20:50:00 · 202 阅读 · 0 评论 -
C++-关联容器类型map
1、#include<map>2、一种键/值对结构。最主要的两个动作向里面插入元素,查询元素是否存在。3、map <string,int>word_count//以string为索引,int为值的结构,可用于表示单词频率统计4、class employee;map <int,employee*>personnel;//以int为索引,雇员类对...2009-12-21 21:17:00 · 127 阅读 · 0 评论 -
量化分析实战:30DMA-15指标计算、Python实现与策略应用
移动平均线(MA)是技术分析中用于平滑价格、识别趋势的基础工具。其原理是通过计算特定周期内收盘价的平均值,过滤短期波动,从而揭示资产价格的中长期方向。在量化投资领域,移动平均线及其衍生指标对于构建趋势跟踪和动量策略具有重要价值,广泛应用于股票、期货等金融产品的择时与风险管理。其中,30日移动平均线(30 DMA)常被视为中期趋势的“生命线”,而在此基础上衍生的30DMA-15差值指标,则能进一步捕捉趋势的动量变化,为判断趋势强度转换提供早期信号。本文将以Python为工具,系统讲解30DMA与30DMA-1原创 2026-08-02 11:00:48 · 366 阅读 · 0 评论 -
C++学习笔记-抽象容器类型
一、1、删除操作(1)erase()slist.erase(iter);slist.erase(first,last);//first和last都是iterator标记(2)pop_back()2、赋值和对换(1)slist1=slist2;//slist1有2个元素,slist2有6个元素,则赋值后slist1有6个元素,slist2有6个元素。(2)slist....2009-12-21 21:42:00 · 167 阅读 · 0 评论 -
c++学习--显示类型转化
1、cast_name <type> (表达式)type:转换后的类型表达式:待转化的值2、包括static_cast、const_cast、dynamic_cast和reinterpret_cast3、const_cast:去掉CONST属性,并转换成name类型如:const_cast <char*> (pc_str);enum mumble...2009-12-21 21:47:00 · 121 阅读 · 0 评论 -
c++学习笔记-bitset操作
1、BITSET类是位向量类,以便进行位向量操作。2、包含相关头文件#include <bitset>3、常见声明方式(1)bitset <32>bitvec;//长度为32位的向量对象(2)bitset <32>bitvec(0xffff);(3) string bitval("1010");bitset <32>b...2009-12-21 21:49:00 · 174 阅读 · 0 评论 -
模板的编译与链接
1、编译器遇到一个TEMPLATE时,不立刻为之产生机器代码,等到TEMPLATE被指定为某种类型2、当多个源文件使用同一TEMPLATE时,事情更趋复杂,BORLAND要求使用TEMPLATE的程序代码的目的文件中都存在有TEMPLATE代码,链接器负责复制和删除。设有一个程序,包含两个源文件A.cpp和B.cpp,它们都载入THREE。H,THREE。H定义了一人TEMPLATE类,A...2009-12-21 21:49:00 · 164 阅读 · 0 评论 -
游戏玩家30天无痛掌握Python:从零到实战项目全攻略
Python作为一门语法简洁、应用广泛的高级编程语言,其核心价值在于将复杂问题抽象为可执行的逻辑流程。通过理解变量、函数、循环等基础概念,开发者能够构建自动化脚本处理重复任务,利用标准库和第三方库扩展功能边界。掌握Python不仅能提升个人工作效率,实现文件批量处理、数据抓取等自动化操作,更在数据分析、Web开发及人工智能等领域具有重要技术价值。本文针对常见学习误区,结合游戏玩家擅长的问题拆解和即时反馈思维,设计了一套30天从零到实战的学习路径,涵盖环境搭建、核心语法、项目驱动及错误排查,帮助学习者通过文件原创 2026-08-01 15:45:38 · 348 阅读 · 0 评论 -
ACII码表
ACII码表2009-12-22 11:47:00 · 977 阅读 · 0 评论 -
物联网安全连接:A5000加密模块与PIC18F47K42实战方案
物联网安全连接是保障设备与云端通信安全的关键技术,尤其在医疗设备和工业物联网应用中尤为重要。通过硬件加密模块(如Microchip A5000)和微控制器(如PIC18F47K42)的组合,可以在资源受限的嵌入式系统中实现银行级的安全标准。A5000加密模块提供硬件加速的AES-256加密和ECDSA签名验证,显著提升性能并降低功耗。PIC18F47K42则通过内存保护单元和真随机数生成器等安全外设,进一步增强系统安全性。这种方案适用于医疗设备、智能家居等需要高安全性的场景,能有效防御中间人攻击和数据篡改。原创 2026-07-27 14:32:56 · 483 阅读 · 0 评论 -
构造函数和析构函数的执行顺序
1、构造函数的调用顺序取决于这些对象成员在类中定义的顺序,先调用对象成员的构造函数,再执行类的构造函数,析构函数与之相反。2、产生这种顺序的原因是:对于类对象,使用的是堆栈来分配内在的。1、存放不便的对象成员或成员函数采用堆来储存,堆栈里存放的是指针。2、比较方便的普通成员直接储存。构造函数如有多个对象成员要初始化,用:分隔ccontainer::ccontainer(int i,int j,in...2009-12-22 19:17:00 · 424 阅读 · 0 评论 -
c++中的THIS
1、编译器只分配用于保存数据的内存,代码则被放在内存的公用区,可以为所有的对象共享。2、既然为共享,那么C++如何区分是该类的哪个对象在操作呢,通过THIS指针实现.3、可以通过下面方法,避免同一对象的赋值void ctest::assign(ctest &t){if (this==&t){//为同一对象赋值}else{//可以正常赋...2009-12-22 19:52:00 · 121 阅读 · 0 评论 -
GPT-4o实战指南:构建生产级AI自主执行任务闭环
大语言模型的‘自主执行’并非玄学概念,而是指在真实业务中实现意图解析、工具编排与状态维持的三层能力闭环。其技术基础源于模型对结构化指令的理解力、多工具协同调用的推理架构,以及长上下文下的语义一致性保持能力。当前阶段,GPT-4o凭借低延迟响应、高工具调用准确率(94.7%)和强JSON Schema遵循率(99.2%),成为支撑客服工单闭环、跨系统调度、合规报告生成等复杂任务的唯一可行基座。本文聚焦工程落地,详解如何通过任务分解—工具编排—容错回滚三步法,将AI能力嵌入企业IT流程,而非空等虚构的‘GPT-原创 2026-06-25 12:37:19 · 507 阅读 · 0 评论 -
C++ 学习心得(常量与变量)
extern int getsize();void mumble(){int size=getsize();vector vec(size);vector ::iterator iter=vec.begin();for (int ix=0; iter!=vec.end();++iter,++ix)*iter=ix;}解释:迭代器是一个支持指针类型抽象的类对象,iterator是vector类模板中...2009-12-22 20:33:00 · 134 阅读 · 0 评论 -
C++ 学习心得(指针与引用)
1、指针(1) 指针定义:加前缀*。(2)指针使用:不加前缀表示指针本身,即物理地址;加前缀*表示解引用,即取物理地址指向的东东,根据指针类型是INT还是DOUBLE等来解引用,因为不同类型所占长度不同。当要仅仅只对不同类型的指针变量所指向的物理地址进行比较时,除函数指针外使用void*类型,因为不需要知道变量长度,只需要比较物理地址。(3)取地址操作:加前缀&,2、引用(1) 引用又叫别...2009-12-22 20:34:00 · 223 阅读 · 0 评论 -
C++ 学习心得(字符串)
1、一个错误的字符串程序#includeconst char *st="my name\n"int main(){int len =0;while (*st++) ++len;//正确,因为一旦*st为0,则表示遇到了字符串终止符0cout << len<<":"<//st=st-len-1;多减一个终止符的长度//cout<<":"<&2009-12-22 20:37:00 · 200 阅读 · 0 评论 -
c++学习心得(枚举)
定义:1、enum aa {input =1,output,append};//枚举值从1开始enum aa {input,output,append};//枚举值从0开始enum aa{input=1,output=3,append};//枚举值在一个定义中可以不唯一,在这里,output和append都为32、enum aa =input;aa=append;3、aa x=output;aa ...2009-12-22 20:38:00 · 133 阅读 · 0 评论 -
C++学习心得(数组,vector容器,typedef,volatile)
定义:int x[3][3];//定义3*3的数组int x[3][3]= {1,2,3,4,5,6,7,8,9};按次序赋值int x[3][3]={{1},{2},{3}};定义第一行的第一列数据int x[3][3]={1,2,3,4};除x[0][0]至x[1][1]外其余全为0int y[3][3];x=y//错误数组不能被数组赋值char ch[6]="hello";//字符终止符包括...2009-12-22 20:41:00 · 273 阅读 · 0 评论 -
c++学习心得(pair,操作符重载,this)
pair1、包括2个不同或相同类型的值2、#includepair xx("abc",123)xx.first;//第一个元素abcxx.second;//第二个元素123===========this类中的this指针被除数自动设置为指向左侧的类对象==========操作符重载1、定义return_type operator op(参数列表)2、可以防止自己拷贝给自己string& s...2009-12-22 20:52:00 · 573 阅读 · 0 评论 -
c++的sizeof
sizeof (type name)//类型的长度sizeof (对象) 和sizeof 对象// 对象的长度2009-12-22 21:05:00 · 108 阅读 · 0 评论 -
MPC8560 DMA控制器寄存器详解与实战编程指南
DMA(直接内存访问)是现代计算机系统中提升数据传输效率的核心技术,它允许外设与内存之间直接交换数据,无需CPU介入,从而解放CPU资源,提升系统整体吞吐量和实时性。其工作原理是通过独立的DMA控制器管理数据传输过程,包括地址生成、传输计数和总线控制。在嵌入式通信处理器领域,DMA对于处理高速网络数据流、图像采集等场景至关重要。飞思卡尔的MPC8560 PowerQUICC III处理器集成了功能强大的DMA控制器,支持直接模式、链式模式、跨步传输等高级功能,并能与RapidIO等高速互连技术深度集成。本文原创 2026-06-24 12:32:11 · 398 阅读 · 0 评论 -
c++(位操作符)
1、按位非--expr2、左、右移<<,>>expr1<>expr2 将expr1左移或右移expr2位3、按位与,按位异或,按位或& , ^ ,|expr1&expr2 expr1^expr2,expr1|expr24、按位与,按位异或,按位或赋值&=,^=,|=...2009-12-22 21:07:00 · 137 阅读 · 0 评论 -
c++对象模型学习心得(初步继承模型)
1、在虚拟继承中,基类不管在继承串链中被派生过多少次,永远只存在一个实体,称为SUBOBJECT。2、继承的方案(1)每一个基类可以被它的派生类对象内的一个槽指出,该槽含有这个基类对象(BASE CLASS OBJECT)的地址,这样的话,派生类对象的大小不会因为其基类的改变而受到影响,因为派生类仅保存基类对象的指针,缺点是这样会导致存取时间和空间的负担,因为要多次存取才能取到基类对象。(2)生成...2009-12-22 21:07:00 · 135 阅读 · 0 评论 -
c++对象模型(关于STRUCT和CLASS)
1、STRUCT:可以利用这个关键字实现一些技巧,这些技巧是类所不具备的。比如可以形成一个空间拥有可变大小的数组。struct mumble{char pc[1];}struct mumbel *pmumbl=(struct mumble*) malloc(sizeof(structmumble)+strlen(string)+1);strcpy(pmumbl->pc,string);建立一...2009-12-22 21:08:00 · 146 阅读 · 0 评论 -
c++对象模型(多态1)
A a;B b;//B类是A类的子类a=b;//B的内容被A类对象进行裁剪,a仍然属于A类a.func();//调用的是A的函数必须用引用和指针,上述因为是在编译时就确定好了,所以调用的仍然是父类.A &a=b;a.func();//这样可以对多态的支持1、类型的隐含转化circle作为shap的子类shap *ps=new circle();2、经由虚函数机制ps->rotate(...2009-12-22 21:09:00 · 111 阅读 · 0 评论 -
python-位操作符,数值类型
本文将介绍Python语言的一种基本数据类型:数值类型。首先,我们会详细介绍Python语言各种数值类型以及相应的算术运算和它们的优先级、结合性。然后,我们还会对整型的位运算做深入的解释。一、 数值类型Python语言的数值类型有四种,分别是:整型、长整型、浮点型和复数类型。下面我们首先介绍整型数据。1.整型Python语言的整型相当于C语言中的long型,在32位机器上,整型的位...原创 2010-01-19 21:19:55 · 1049 阅读 · 0 评论 -
python笔记-cmp、type、isinstance
示例:IDLE 2.6.4rc2 >>> type(4)<type 'int'>>>> cmp(3,2)1>>> cmp(20,30)-1>>> str(564.5154)'564.5154'>>> repr([21,54,8,9])'[21, 54, 8原创 2010-01-19 21:22:46 · 204 阅读 · 0 评论 -
f o r k函数
一个现存进程调用f o r k函数是U N I X内核创建一个新进程的唯一方法(这并不适用于前节提及的交换进程、i n i t进程和页精灵进程。这些进程是由内核作为自举过程的一部分以特殊方式创建的)。 #i nclude <sys/types.h>#i nclude <unistd.h>pid_t fork(void); ...原创 2010-01-20 08:23:39 · 258 阅读 · 0 评论 -
基于const的重载
1、基于成员函数是否为const,可以重载一个成员函数,同样基于一个指针形参是否指向const,可以重载一个函数。2、const对象只能使用const成员,非const对象可使用任一成员,但会更好的匹配非const版本3、比如:class Screen{ public: Screen& display(std::ostream &os){ ...2010-07-31 11:09:32 · 229 阅读 · 0 评论 -
C++-使用auto_ptr保证异常安全
void f(){ auto_ptr<string> ap(new string("异常安全,即使f()函数没有来得及运行string的析构函数"));}原创 2010-08-10 14:06:10 · 169 阅读 · 0 评论 -
C++-高级内存分配
C++-高级内存分配原创 2010-08-10 22:11:16 · 143 阅读 · 0 评论 -
C++-运行时类型识别
C++-运行时类型识别原创 2010-08-10 22:24:29 · 184 阅读 · 0 评论 -
C/C++ Web框架
C++ Web工具包 WtWt(音同&apos;witty&apos;)是一个C++库,同时也是开发和部署web应用的服务器。 Wt不是所谓框架(framework),它只是一个库,它不会将编程方式强加于开发者。 Wt的API是以widget为中心(widget-centric)的,并受到现有C++图形用户界面(GUI) 的应用编程接口(APIs)的启发。... 更多...原创 2010-08-10 22:26:40 · 4146 阅读 · 0 评论 -
const 与 #define 的比较
C++ 语言可以用const 来定义常量,也可以用 #define 来定义常量。但是前者比后者有更多的优点:(1) const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应)。(2) 有些集成化的调试工具可以对 const 常量进行调试,但是不能对宏常量进行调试。z 【规则5-2-...原创 2010-02-21 11:51:40 · 113 阅读 · 0 评论 -
Ubuntu 10.04安装codeblocks版本10.05
Linux发行版是Ubuntu 10.04,codeblocks版本10.05,安装codeblocks需要wxWidgets库,具体步骤如下: 1、输入命令:curl http://apt.wxwidgets.org/key.asc | sudo apt-key add -Packages和软件仓库meta-data都是需要数字签名的,因此需要将Key导入到系统的apt信...原创 2010-08-21 13:13:58 · 192 阅读 · 0 评论
分享