C++习题(from the teacher)Apr.

告别误唤醒!S32K3xx低功耗设计避坑指南:Fast Standby模式与WISR寄存器操作详解 本文深入解析了NXP S32K3xx系列MCU在低功耗设计中常见的误唤醒问题,并提供了基于Fast Standby模式的解决方案。文章重点剖析了DCMRWF5寄存器的配置方法、WISR/WISR_64唤醒中断状态寄存器的标志位处理策略,以及如何利用32KB Standby SRAM保存唤醒状态,从而帮助开发者构建稳定可靠的汽车电子低功耗系统。 阅读详情

Apr.

04_22_1

//4.22-1 字符正方形

#include <iostream>

using namespace std;

 

int main(void)

{

         int n,flag=0;

         char ch;

         cout<<"Please enter a number(1<=n<=50) and char(A~Z)"<<endl;

 

         do

         {

                   cin>>n;

                   cin>>ch;

                  

                   if (n<1||n>50)

                   {

                            cout<<"Please enter a number(1<=<=50)"<<endl;

                            continue;

                   }

                   if (ch<'A'||ch>'Z')

                   {

                            cout<<"Please enter a char(A~Z)"<<endl;

                            continue;

                   }

                   flag=1;

         }while (!flag);

 

         for(int i=0;i<n;i++)

         {

                   for(int j=0;j<n;j++)

                   {       

                            cout<<ch;

                   }

                   cout<<"/n";

 

         }                          

                   return 0;

}

 

说明:此程序在对错误输入处理部分仍有问题,比如输入”cc”,”5cc”都会造成无限循环。疑似输入流缓冲区的问题,其中也包含了int和char间的强制转换。

04_22_2

//04.22-2 字符三角形

#include <iostream>

using namespace std;

 

int main(void)

{

         int a=7,b=13;            //等腰三角形隐含着存在b=2a-1,对4_23_1有所启发

         int flag=0;

         char ch;

        

         cout<<"Please enter a char (A~Z)"<<endl;

         do

         {

                   cin>>ch;

                   if (ch>='A'&&ch<='Z')

                   {

                            flag=1;

                   }

                   else

                   {

                            cout<<"!!a char (A~Z)"<<endl;

                            continue;

                   }

         }while (!flag);

 

         for (int i=0;i<a;i++)

         {

                   for (int j=i;j<a-1;j++)

                   {

                            cout<<' ';

                   }

                   for (int k=0;k<2*i+1;k++)

                   {

                            cout<<ch;

                   }

                   cout<<endl;

         }

         return 0;

}

04_23_1

//04.23-1 对称字符等腰三角形

#include <iostream>

using namespace std;

 

int main(void)

{

         int n;         //底长为2n-1

         cin>>n;

         char ch='A';

 

         for (int i=0;i<n;i++)

         {

                   for (int j=i;j<n-1;j++)

                   {

                            cout<<' ';

                   }

 

 

                   for (int k=i+1;k>0;k--)

                   {

                            cout<<char(ch+k-1);

                   }

                   //运行到此k等于0了

                   for (;k<i;k++)

                   {

                            cout<<char(ch+k+1);

                   }

 

 

                   cout<<endl;

         }

         return 0;

}

04_23_2

//04.23-2 文本文件读出并显示

#include <iostream.h>

#include <fstream.h>

#include <stdlib.h> //提供对abort()函数的支持

void fun(int ,int );

 

void main(void)

{

         fstream in;

         in.open("04_23_2.txt",ios::in);

         if (!in)

         {

                   cerr<<"04_23_2.txt can't open./n";

                   abort();    //异常终止一个进程

         }

 

         char s[80];

         while (!in.eof())

         {

                   in.getline(s,sizeof(s));

                   cout<<s<<endl;        //加回车是因为,getline()会去掉每行的换行符

         }

         in.close();

}

 

04_24_1

//04.24-1 读取CPP源文件并加行号显示

#include <iostream.h>

#include <fstream.h>

#include <stdlib.h>

void fun(int ,int );

 

void main(void)

{

         ifstream in;

         in.open("04241.cpp");

         if (!in)

         {

                   cerr<<"04_23_2.cpp can't open./n";

                   abort();   

         }

        

         int line_number=0;

         char s[80];

 

         while (!in.eof())

         {

                   cout<<++line_number<<'/t';

                   in.getline(s,sizeof(s));

                   cout<<s<<endl;

         }

 

         in.close();

}

        

04_24_2

//04.24-2 测定基本数据类型所占用的位数

#include <iostream>

#include <fstream>

using namespace std;

int main(void)

{

 

         ofstream outfile;

         outfile.open("0424-output.txt");

         outfile<<"The Width of /"int/" is "<<sizeof(int)<<" bits"<<endl;

         outfile<<"The Width of /"short/" is "<<sizeof(short)<<" bits"<<endl;

         outfile<<"The Width of /"long/" is "<<sizeof(long)<<" bits"<<endl<<endl;

         outfile<<"The Width of /"char/" is "<<sizeof(char)<<" bits"<<endl<<endl;

         outfile<<"The Width of /"float/" is "<<sizeof(float)<<" bits"<<endl;

         outfile<<"The Width of /"double/" is "<<sizeof(double)<<" bits"<<endl;

         outfile<<"The Width of /"long double/" is "<<sizeof(long double)<<" bits"<<endl;

 

         outfile.close();

/*"The width of "int"","The width of "int"","The width of "int"",

"The width of "int"","The width of "int"","The width of "int"",*/

         return 0;

}

说明:感觉这么写,很笨,但并未想出太好的方法。尝试用过字符数组+循环,但用C++处理不好,如果换成C还凑合。

04_25_1

//04.25-1格式阵列输出

#include <iostream>

#include <fstream>

#include <iomanip>

using namespace std;

 

void draw(int n);

 

void main(void)

{

        

         int n;

        

         ofstream outFile ("datas.dat");

         if(!outFile)

         {

                   cerr<<"File could not be opened"<<endl;

                   exit(1);

         }

         //输入数据到数据文件,每行以问好提示,回车隔开,Ctrl+Z结束输入

         cout<<"Enter the datas."<<endl

                   <<"Enter end-of-file to end input./n?";

         int data;

         while (cin>>data)

         {

                   outFile<<data<<endl;

                   cout<<"?";

         }

         //读取文件

         ifstream inFile("datas.dat");

         if(!inFile)

         {

                   cerr<<"File could not be opened"<<endl;

                   exit(1);

         }

         while(inFile>>n)

         {

                   draw(n);

                   cout<<endl;

         }

        

}

//格式阵列输出

void draw(int n)

{

         int k=-1;

         int a[100];

         for(int i=1;i<=n;i++)

         {

                   cout.setf(ios::right,ios::adjustfield);

                   cout<<setw(2)<<i<<"  ";

                   a[i]=k;

                   k=(a[i]+1)%n;

                           

                   for(int j=1;j<=n;j++)

                   {

                            cout<<setw(3)<<k;

                            k=(k+1)%n;

                   }

                   cout<<endl;

         }

}

04_25_2

//04.25-2 累加算法求和

#include <iostream>

#include <fstream>

using namespace std;

 

int add(int n);

int main(void)

{

         int n;

        

         ofstream outFile ("datas.dat");

         if(!outFile)

         {

                   cerr<<"File could not be opened"<<endl;

                   exit(1);

         }

 

         cout<<"Enter the datas."<<endl

                   <<"Enter end-of-file to end input./n?";

         //以问号提示,回车隔开

         int data;

         while(cin>>data)

         {

                   outFile<<data<<endl;

                   cout<<'?';

         }

 

         ifstream inFile("datas.dat");

         if(!inFile)

         {

                   cerr<<"File could not be opened"<<endl;

                   exit(1);

         }

         while(inFile>>n)

         {

                   cout<<add(n)<<endl;

         }

         return 0;

}

//求和函数

int add(int n)

{

         int s=0;

         while(n>0)

         {

                   s+=n;

                   n--;

         }

         return s;

}

04_26_1

//04.26-1 求1!到n!的和

#include <iostream>

#include <fstream>

int add(int );

long fun(int );

using namespace std;

 

int main(void)

{

         int n;

         //写数据文件

         ofstream outFile ("datas.dat");

         if (!outFile)       

         {

                  cerr<<"File could not be opened"<<endl;

                   exit(1);

         }

         cout<<"Enter the datas."<<endl

                   <<"Enter end-of-file to end input./n";

                   //开始输入

         int data;

         while (cin>>data)

         {

                   outFile<<data

                   <<endl;

         //      cout<<"?";

         }

         //打开数据文件

         ifstream inFile ("datas.dat");

         if(!inFile)

         {

                   cerr<<"File could not be opened"<<endl;

                   exit(1);

         }

 

         while(inFile>>n)

         {

                   cout<<add(n)<<endl;

         }

         return 0;

}

//调用fun(),实现题目公式

int add(int m)

{

         long k=0;

         while (m>0)

         {

                   k+=fun(m);

                   m--;

         }

         return k;

}

//递归实现求阶乘

long fun(int m)

{

         long ans;

         if (m>0)

         {

                   ans=fun(m-1)*m;

         }

         else

                   ans=1;

         return ans;

}

04_26_2

#include <iostream>

long add(int ,int );

long fun(int ,int );

using namespace std;

 

void main(void)

{

         int q=2;

         int n=3;

         cout<<fun(q,n)<<endl;

         cout<<add(q,n)<<endl;

}

 

long add(int q,int m)

{

         int k=0;

         while (m>=0)

         {

                   k+=fun(q,m);

                   m--;

         }

         return k;

}

 

//求N次幂

long fun(int q,int m)

{

         int k=1;

         for (;m>0;m--)

         {

                   k=q*k;

                  

         }

         return k;

}

说明:也没有达到从数据文件中输入数据!!

04_27_1

04_28_1

//04.28-1 5位以内的对称素数

#include <iostream>

#include <cmath>

using namespace std;

const int TRUE(1);

const int FALSE(0);

 

int digit(int );

int PrimeN(int );

int SymmetryN(int );

 

 

 

void main(void)

{

         int a[50];

         int n;

         cout<<"输入你将处理的数据个数n:";

         cin>>n;     //

         for (int i=0;i<n;i++)

         {

                   cin>>a[i];

         }

         for (int j=0;j<n;j++)

         {

                   cout<<a[j]<<'/t';

                   if (digit(a[j])<=5 && SymmetryN(a[j]) && PrimeN(a[j]))

                            cout<<"Yes"<<endl;

                   else

                            cout<<"No"<<endl;

         }

}

//位数判断

int digit(int m)

{       

         int count=0;

         while(m>0)

         {

                   m/=10;

                   count++;

         }

         return count;

}

//判断一个正整数是否为一个对称数,是返回TRUE

int SymmetryN(int m)

{

         int i=0;

         int a[100];

         int n=m;

         while(n>0)

         {

                   a[i]=n%10;

                   n/=10;

                   i++;

         }

 

         for (int j=0,k=i,s=0;j<i;j++,k--)

         {

                   s+=a[j]*pow(10,(k-1));

         }

 

         if (s==m)

                   return TRUE;

         else

                   return FALSE;

        

}

//判断一个正整数是否为素数,是返回TRUE,否则返回FALSE

 

int PrimeN(int n)

{

         for(int i=2;i<n;i++)

         {

                   if (n%i != 0)

                            return TRUE;

                   else

                            return FALSE;

         }

}

 

04_28_2

//04.28-2 “顺”序列

#include <iostream>

using namespace std;

 

void evaluate(int n,int b[]);

void sort(int n,int b[]);

int  fun(int n,int b[]);

 

void main(void)

{

         int n;//真正处理多少数据

         int a[10];  //n个卡片,不能写作a[n],即使n已经赋过值

 

         cout<<"请输入卡片个数n(1<=n<=10):";

         //确保n值符合范围

         cin>>n;

         if(n<=10 && n>=1)

                   ;

         else

         {

                   cout<<"!! 1<=n<=10:";

                   cin>>n;

         }

 

         evaluate(n,a);

         sort(n,a);

 

         cout<<"排序后的数列:";

         for(int i=0;i<n;i++)

                   cout<<a[i]<<' ';

         cout<<endl<<endl<<"顺?/t";

         if (fun(n,a))

                   cout<<"Yes"<<endl;

         else

                   cout<<"No"<<endl;

        

}

 

//数组赋值,即卡片赋值

void evaluate(int n,int b[])

{

         cout<<"请输入每张卡片值m(1<=m<=100):"<<endl;

         for(int i=0;i<n;i++)

         {

                   cin>>b[i];

                   /*

                   if(b[i]>=1 && b[i]<=100)

                            ;

                   else

                   {

                            cout<<"请重新输入该值:"<<endl;

                   }

                   */

         }

}

//排序

void sort(int n,int b[])

{

         for(int i=0;i<n-1;i++)

         {

                   for(int j=0;j<n-1-i;j++)

                   {

                            if(b[j]>b[j+1])

                            {

                                     int t;

                                     t=b[j];

                                     b[j]=b[j+1];

                                     b[j+1]=t;

                            }

                   }

         }

        

}

//判断一个顺序数列是否为等差数列

int fun(int n,int b[])

{

         for(int i=0;i<n-1;i++)

         {

                   if(      (b[i+1]-b[i]) == (b[i+2]-b[i+1])   )

                            return 1;

                   else

                            return 0;

         }

}

Note:红色代码所代表的错误处理方式,出现在这种循环赋值语句,将带来一个trouble。只有你每输入一个数据,按回车它才能处理。如果你输入一行数据,再回车,它只能处理最后一个数据。出现这类现象的原因是由于输入缓冲区的问题。使用时应给予重视!!

04_29_1

//04_29_1十进制转换成二进制,并输出

void dec_bina(int n)

{

         for (int i=0,count=0;i<n;i++)

         {

                   a[i]=n%2;

                   n/=2;

                   count++;

         }

 

         for (int j=count;j>0;j--)

         {

                   cout<<a[j];

         }

}

04_29_2

//04.29-2 Fibonacci数

#include <iostream>

using namespace std;

long Fibonacci(int n);

 

void main()

{

         int n;

         cin>>n;     //求第n项

         cout<<Fibonacci(n);

}

long Fibonacci(int n)

{

         int k;

         if(n>1)

                   k=Fibonacci(n-1)+Fibonacci(n-2);

         else if(n==1)

                   k=1;

         else

                   k=0;

         return k;

 

}

Note:        仔细看下老师那里所谓的第n项,是把“0”仍了。

        

04_30_1

//04_30_1

//百钱买百鸡

#include <iostream>

using namespace std;

 

void main(void)

{

         int cook,hen,chicken;       //翁、母、雏

         int i=1;

         for (cook=0;cook<=20;cook++)

         {

                   for(hen=0;hen<=33;hen++)

                   {

                            chicken=100-cook-hen;

                            if (chicken%3==0 && 5*cook+3*hen+chicken/3 ==100)

                            {

                                     cout<<i<<':'<<"cook="<<cook<<" hen="<<hen<<" chicken="<<chicken<<endl;

                                     i++;

                            }

                   }

         }

}

04_30_2

//04.30-2 歌手大赛评分

STM32F103VCT6+W5500 TCP 服务端通信 STM32F103VCT6 W5500的TCP连接通讯的程序 阅读详情

相关推荐

保姆级教程:STK 11.0 从下载到安装成功(附Matlab互联配置与常见问题解决)

本文提供STK 11.0的完整安装指南,包括下载、安装步骤、Matlab互联配置及常见问题解决方案。详细介绍了系统要求核查、分步安装流程、关键文件替换和许可证配置,确保用户能够顺利完成STK 11.0的部署并实现与Matlab的无缝对接。

weixin_30698297的博客 345

MJExtension代码解释

Runtime 是什么? objective-C会把函数调用的转换为消息发送,objc_MsgSend(receiver, msg), 注意,recevier指的是消息的接受者。那么self, super的区别是什么?其实 super 是一个 Magic Keyword, 它本质是一个编译器标示符,和 self 是指向的同一个消息接受者!他们两个的不同点在于:super 会告诉编译器,调用 cl...

weixin_30755393的博客 177

AppleAccount注册之生成sign

根据日志发现:签名来自于AuthKit的-[AKAppleIDServerResourceLoadDelegate signRequest:withCompletionHandler:]的一个block,这个库是放在共享缓存库里的,找到提前准备好的IDA文件,先去找主方法,根据分析IDA,最后找到了实际生成签名的方法:t1。,接受五个参数,context(之前讲的获取到的客户端证书),bytes(待加密的body字节),length(字节长度),以及两个接受结果的参数,直接进这个方法看,

2503_90751938的博客 1006

6 代码解释 标识符

转载于:https://www.cnblogs.com/ikong/p/10634574.html

weixin_30698297的博客 176

【笔记】2022.6.7 数据分析概论

已完结

SpriteNym的博客 1372

Simulink Test Sequence自动化测试实战:从Excel到模型验证

本文详细介绍了如何利用Excel和MATLAB脚本实现Simulink Test Sequence的自动化测试。通过设计结构化Excel模板管理测试数据,并调用Simulink Test API批量创建与执行测试用例,该方法能显著提升复杂模型单元测试的效率,便于集成到CI/CD流程,实现从数据到验证的全自动化。

weixin_29261711的博客 144

C++检测输入是否是整数

学校一道zz题但是检测合法性输入这里费了好大功夫。 1、猜价格游戏 编写C++程序完成以下功能: (1)假定有一件商品,程序用随机数指定该商品的价格(1-1000的整数); (2)提示用户猜价格,并输入:若用户猜的价格比商品价格高或低,对用户作出相应的提示; (3)直到猜对为止,并给出提示。 (提示及要求:1,要求使用C++的输入输出方式(cin, cout),不能使用

PAIN的博客 1万+

梯度提升决策树GBDT原理与代码实例讲解

梯度提升决策树GBDT原理与代码实例讲解 1.背景介绍 1.1 机器学习发展历程 机器学习是人工智能领域的一个重要分支,旨在使计算机具备学习和改进自身性能的能力。随着大数据时代的到来,海量的数据为机器学习算法提供了广阔的应用空间。在

AI天才研究院 1088

c++ Primer Plus (第6章编程练习)

//6.11-1 #include<iostream> #include<stdlib.h> #include <string> #include <cctype> using namespace std; int main() { char ch; string text; cout << "Enter text for analysis ,and type @ to terminate input.\n"; cin.get(ch);

weixin_39883581的博客 296

卸载python弹框报错:Could not set file security for file ‘D:\Config.Msi\abd5.rbf‘. Error: 5. Verify...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 6486

SAP FICO CBS接口-银企直连付款平台功能开发说明书(包括测试样例、FS)

SAP FICO CBS接口-银企直连付款平台功能开发说明书(包括测试样例、FS)

我好像病了的博客 2448

深挖C++:类和对象(中)

(先进后出)

xys_678的博客 240

【系统安全】Windows内核权限提升漏洞(CVE-2024-30088)

CVE-2024-30088是Windows内核提权漏洞,由越南安全研究员@Bùi Quang Hiếu详细分析。漏洞发生在AuthzBasepCopyoutInternalSecurityAttributes函数中,该函数在复制SecurityAttributesList时会使用用户提供的指针,在校验及复制期间存在时间差,导致存在TOCTOU漏洞。

李同學AI安全 1325

C++移动构造函数详解

移动构造函数是C++11引入的一种特殊构造函数,用于从临时对象(右值)"窃取"资源来初始化新对象,而不是进行昂贵的深拷贝。char* data;public:// 移动构造函数:参数是右值引用 &&// 关键:把源对象的资源置空。

拒绝AI文,努力在AI时代写出感动人心的好文章 391

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

ThunderKittens 深度解析:一个不基于 MLIR 的 C++ 模板 GPU DSL

Triton 是"让更多人能写 GPU kernel",ThunderKittens 是"让会写的人写得更爽"。前者用 MLIR 换易用性,后者用 C++ 模板换可控性。它们不是替代关系,而是覆盖了 GPU 编程光谱的两端。ThunderKittens 的出现,本质上是对"GPU DSL 必须基于 MLIR"这一默认假设的挑战。编译期类型系统本身就可以是一个强大的 DSL 基础设施,不需要中间 IR,不需要黑盒 pass,也能实现 tile 级抽象和零运行时开销。

Maxwell_Newton的博客 338

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

跟我学c++中级篇—类型定义的方式

本文系统阐述了编程中类型定义的重要性及c++中的实现方式。重点对比了宏定义、typedef与modern using三种机制,指出using在可读性、灵活性和模板支持上的优势,推荐优先使用。同时提醒开发者注意别名滥用、类型歧义、错误信息冗长等问题,强调统一规范与合理设计。最终结论:在现代c++开发中,应以using为主,兼顾简洁性与可维护性,避免陷入命名混乱与编译困境。

fpcc的专栏 70

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【C语言】字符与字符串函数

C语言中字符串为以\0结尾的字符数组,标准库函数基于此约定。本文解析字符串内存布局,详解ctype.h与string.h中字符分类、长度计算、拷贝、比较等函数的使用要点,强调长度判断与越界风险,最后通过命令行待办事项示例整合fgets、sscanf、strncpy、strcmp,展示实际应用中的关键细节。

记录在学习过程中学到的知识 347

C++ 函数模版

模板参数:● template ,T 就是类型占位符,名字可以自定义,习惯用T● 占位符可以在函数返回值、形参、函数内部当作类型使用使用要点模板代码一般写在头文件:编译器需要看到完整模板源码,才能在每个编译单元完成实例化全局函数、类内成员函数都可以写成模板实例化发生在编译阶段,不是运行时隐式实例化:调用时编译器自动推导实参类型,生成对应版本函数。

2501_94041724的博客 304

C++ 运行时多态与虚函数机制全面剖析【面试重点】

构成C++ 运行时多态必须是基类的指针或者引用调用虚函数。被调用的函数必须是虚函数,并且派生类必须对该虚函数完成重写/覆盖(Override)。只有基类的指针或引用才能既指向基类对象,又指向派生类对象(切片机制);而只有完成了虚函数重写,派生类与基类才具备不同的函数行为,达到“指向谁就调用谁”的效果。在类成员函数的前面加上virtual关键字修饰,该成员函数就成为了虚函数。public:// 成员函数前加 virtual 修饰,声明为虚函数。

Fuyo_0209的博客 437

#SQLite 数据库笔记一:(概念 / 终端指令 / SQL 语句 / C 编程 / 回调函数)

数据库 = 数据的仓库,假设数据是海量。能力说明存储数据持久化保存,程序退出数据还在统计数据、分组、排序数据管理增、删、改、查(CRUD)嵌入式设备上也会用数据库(单片机网关、路由器、工业 HMI 都常见),因为 sqlite 体积小、无需服务进程、单文件即可。数据库 = 库 > 表 > 记录(行) > 字段(列)sqlite3 = 开源、C 写的、单文件、免安装、最多 2T 的嵌入式关系型数据库。

lwq20051110的博客 211

C 语言 malloc() 详解与实战 Demo

本文详解C语言malloc()函数,涵盖其语法、内存原理及实战应用。通过动态整数、数组、结构体与链表的Demo,演示如何安全申请、使用与释放内存,强调避免内存泄漏与空指针检查的重要性,帮助开发者掌握动态内存管理核心技能。

tangPHP的博客 371

【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针

C++类与对象知识(面向过程和面向对象的初步认识,类的初步认识,类的访问限定符及封装,类的作用域、实例化,类的对象模型,this指针)

2601_96587588的博客 884

【C++ 基础入门】C++继承(下):问题、底层原理与组合

C++继承(菱形继承的问题、虚继承原理、继承与组合、构造顺序)

2601_96587588的博客 773

蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级 备考:莫队算法离线区间查询详解

备赛进行时:第十八届蓝桥杯软件赛报名已于 2026-10-08 10:00 开启、12-18 14:00 截止,省赛定在 2027-04-10(C/C++·Python 程序设计 9:00–13:00);中国电子学会 2026 年 12 月软件编程(C/C++ 一级至十级、Python 一级至六级)考级报名 9/23–12/2 16:00、统考 12-12;全国青少年信息素养大赛 2026—2027 赛季算法应用主题赛也已进入复盘练兵窗口。

IT_Scratch的博客 135

C++09_vector类复习

本文以10个核心问题为主线,系统解析C++ vector的底层机制:从基本概念、初始化方式、遍历方法,到size与capacity的区别、扩容策略(VS 1.5×,g++ 2×)、reserve与resize差异、中间增删的挪动原理、迭代器失效原因,直至二维vector的内存布局(含三指针结构)。通过“先会用、再懂扩容、最后看清对象结构”的递进逻辑,揭示vector作为动态数组的本质——连续内存、自动扩容、随机访问高效,但插入删除代价高,迭代器易失效。全文深入浅出,助读者摆脱“黑盒”认知,真正掌握其内存图景

lemo_n_的博客 337

825 mW 顶上 212 °C:ASM491S 的 105 °C/W、250 mA 短路电流与热关断

25 °C 环境里结温 34.1 °C,125 °C 环境里结温 134.1 °C——后者已经离 150 °C 只有 16 °C 了,但还在范围内。换个角度看同一件事:从 25 °C 和从 125 °C 起算,温升都是 86.6 °C,但一个到 111.6 °C(还在范围内),一个到 211.6 °C(远远超限)。这个算例里 20 °C/W 是我假设的,实际值取决于机壳材料、密封程度、有没有风扇,跨度可以从 5 °C/W 到 50 °C/W 以上。外面 50 °C 的机箱,盒内就是 63.9 °C。

ANSILIC的博客 339
上一篇: 我也来谈VC6.0安装问题
下一篇: 递归使用,潜在问题
P_leopard17
博客等级 码龄20年 2粉丝 7原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值