当前位置: 首页 > news >正文 最新的网站建设架构建设小型网站 news 2025/10/24 7:20:35 最新的网站建设架构,建设小型网站,花垣县建设局网站,p2p网站开发220. static关键字的作用 static关键字在编程中有多种作用#xff1a; 在类的成员变量前使用#xff0c;表示该变量属于类本身#xff0c;而不是任何类的实例。在类的成员函数前使用#xff0c;表示该函数不需要对象实例即可调用#xff0c;且只能访问类的静…220. static关键字的作用 static关键字在编程中有多种作用 在类的成员变量前使用表示该变量属于类本身而不是任何类的实例。在类的成员函数前使用表示该函数不需要对象实例即可调用且只能访问类的静态成员变量和其他静态成员函数。在局部变量前使用表示该变量在函数调用结束后不会被销毁而是保持其值不变。在全局变量或函数前使用限制其作用范围仅在定义的文件内对其他文件不可见。 221. extern关键字的作用 允许在多个文件中访问同一个全局变量或者函数表明变量或函数的定义存在于其他文件中 222. 静态内存分配和动态内存分配的区别静态分配的优缺点 静态内存分配与动态内存分配的区别 静态内存分配在编译时就确定了存储空间的大小和生命周期通常用于全局变量和静态局部变量。动态内存分配在运行时根据需要动态的分配和释放内存通常使用new和delete。 静态内存分配的优点 管理简单没有额外的运行开销。生命周期长随程序启动创建程序结束时销毁。 静态内存分配的缺点 灵活性低必须提前预知并定义所需内存大小。可能会导致内存浪费若预分配内存未被充分利用。 223. 互斥锁和自旋锁的区别 互斥锁 当一个线程获得互斥锁后其他尝试获得该锁的线程会被挂起阻塞直到锁被释放。适用于线程执行时间较长的情况。 自旋锁 当一个线程尝试获取自旋锁而锁已被占用时线程会循环等待自旋直到锁被释放。适用于线程执行时间非常短的情况避免了线程挂起的开销。 224. 线程和进程的区别 进程是操作系统进行资源分配和调度的基本单位每个进程拥有独立的地址空间和系统资源。线程是进程中的执行单元是CPU调度的基本单位同一进程中的线程共享该进程的地址空间和资源。 225. 如何进行线程切换的 线程切换是操作系统的调度器通过保存当前线程的状态到线程的上下文中然后加载另一个线程的上下文并恢复其状态这样CPU就可以继续执行新线程的处理。 226. IP寄存器的作用是通用寄存器么 IP寄存器即指令寄存器在x86架构中称为EIP在x64架构中称为RIP其作用是存储下一跳要执行的命令。他不是通用寄存器因为他有特定的用途即指向程序的下一条指令而不能用于通用数据存储或算术逻辑运算。 227. LR寄存器了解么 LR寄存器是链接寄存器在ARM架构中常见。他用于存储子程序调用返回后执行的下一条指令的地址返回地址会存入LR寄存器。这样在子程序执行完毕后可以通过LR寄存器找到并返回到调用点继续执行。LR寄存器不是通用寄存器。 228. 线程有哪几种状态 创建New就绪Runnable、运行Running、阻塞Blocked、等待Waiting、超时等待Timed Waiting、终止Terminated。 229. 自旋锁等待时线程处于什么状态互斥锁呢 自旋锁等待时线程处于运行状态因为他在忙等待不停的检查锁是否可用。 互斥锁等待时线程处于阻塞状态不占用CPU资源直到锁成为可用状态。 230. 讲一下你了解的进程调度算法 进程调度算法是决定哪个进程将接下来使用CPU的规则集合。常见的进程调度算法包括 先来先服务FCFS按照进程到达的顺序进行调度最短作业优先SJF先执行预计运行时间最短的进程。优先级调度优先执行优先级最高的进程轮转调度Round RobinRR每个进程分配时间片轮流执行多级反馈队列Multilevel Feedback Queue,MFQ动态调整进程的优先级和时间片。 231. 讲一下C的智能指针 unique_ptr独占所有权不支持复制和赋值操作。 shared_ptr引用计数机制多个智能指针可以共享一个对象。 weak_ptr不对对象的所有权计数用于解决shared_ptr的循环引用的问题。 232. shared_ptr的底层实现了解么 shared_ptr底层实现通常包括两个主要部分 控制块存储引用计数和指向动态分配的对象的指针。智能指针对象包含对控制块的引用。 233. 讲一下lambda表达式lambda表达式优点和应用场景 Lambda表达式是C中的匿名函数让你能够写出内联的、可调用的代码块可以捕获并使用其所在作用域中的变量。 优点 简洁减少了编写单独函数或函数对象的必要方便可直接在需要的地方定义和使用灵活能够捕获所在作用域的变量 应用场景 作为回调函数例如给线程或算法传参在STL算法中用于自定义排序准则或操作用于定义局部的小功能块避免编写多余的函数 234. map和unordered_map的区别 map和unordered_map的区别 map基于红黑树实现元素按键自动排序查找、插入和删除操作的时间复杂度为Ologn unordered_map基于哈希表实现元素不排序按哈希值存储平均情况下查找、插入和删除操作的时间复杂度为O1最坏情况为On 235. unordered_map实现了解么 unordered_map通过哈希表实现。它使用一个哈希函数将键值映射到桶中并在桶内使用链表处理哈希冲突。当发生哈希冲突时即多个元素映射到同一个桶这些元素会以链表的形式存储在该桶中。这样可以通过键的哈希值快速访问到对应的桶从而进行元素的查找、插入和删除。 236. 哈希冲突是指什么 哈希冲突是指不同的键通过哈希函数计算后得到相同的哈希值因此他们被映射到同一个哈希表的存储位置上。 237. 讲一下TCP三次握手 TCP三次握手的过程 客户端发送一个含有SYN标志的数据包给服务器请求连接服务器收到SYN包回应一个含有SYN/ACK标志的数据包表示确认客户端收到SYN/ACK包再发送一个ACK包给服务器完成连接建立 238. http协议和TCP协议的关系 HTTP协议运行在TCP协议之上使用TCP提供可靠传输服务来确保数据正确无误的从客户端传输到服务器或者反过来。 239. https协议和http协议的关系 HTTPS是HTTP协议的安全版本它通过SSL/TLS协议提供加密处理数据的功能保证数据传输的安全性和完整性。 240. 内存分配情况存放在哪里 堆动态分配内存用于存放动态分配的对象栈自动分配释放用于存放函数局部变量和函数参数。数据区存放全局变量和静态变量代码区存放程序的执行代码 241. 函数参数传递的方式和特点 值传递函数接收参数值的一个版本原始数据不会被函数修改引用传递函数接收参数的内存地址引用可以直接修改原始数据 242. static和const的区别 static关键字用来定义静态变量其生命周期为程序执行期间但它的作用域限定于定义它的文件或函数内。 const关键字定义常量其值在定义后不能被修改用来保证数据的不变性。他只影响它所修饰的变量的可变性而不影响其生命周期。 243. static修饰局部变量、全局变量、函数和类各有什么特点 静态局部变量存储在数据区生命周期贯穿程序执行期但只在定义它的函数内可见。静态全局变量作用域限定于定义它的文件内对其他文件不可见。静态函数其链接属性为内部只能在定义它的文件内使用。静态类成员属于类本身而不是类的任何对象所有对象共享同一个静态成员。 解释 可能你跟我一样有种疑问静态局部变量static 本地变量在程序的执行期间都保持存活生命周期但只在定义它的函数内可见作用域。它们听上去似乎会占用过多的系统资源但它们有其特定的用途和优点 静态局部变量的特性 生命周期静态局部变量的生命周期是从程序开始执行到程序结束生命周期超级长。作用域它的作用域局限于定义它的函数换句话说只能在函数内访问。 为什么需要静态局部变量 保持状态 静态局部变量用于保持函数内部的状态信息。例如可以用它们来记住函数被调用的次数 #include iostream void counter() { static int count 0; count; std::cout Function called count times\n; } int main() { counter(); counter(); counter(); return 0; } // 输出: // Function called 1 times // Function called 2 times // Function called 3 times优化性能 对于某些计算密集的任务静态局部变量可以用作缓存以避免重复计算从而提高性能。 数据持久性 数据需要在多次函数调用之间保持一致而不需要全局变量时静态局部变量是一个好用的选择。它能保护局部状态而无需暴露在全局作用域。 内存占用考虑 静态局部变量的内存分配 静态局部变量在程序的全局数据区通常称为BSS段或数据段中分配内存与堆栈和堆上的变量不同。这种内存分配在编译时进行因此程序启动时其大小是固定的。 资源占用 虽然它们确实在整个程序生命周期内占用资源但它们的使用方式通常非常有限并且在大多数场景中相比较其带来的好处如状态保持、性能提升等这点内存消耗是可以接受的。 何时使用静态局部变量 需要在多次调用之间保持函数内部状态 当你希望一个函数保持一些数据或状态信息以便在下次调用时继续使用这些信息静态局部变量是理想的选择。 不希望全局变量污染命名空间 静态局部变量提供了一种在函数内部保持状态信息而不需要全局变量的方法避免了命名冲突和潜在的全局变量滥用。 需要持久化缓存或中间结果 当某些中间计算结果需要被多次使用时静态局部变量能减少不必要的重新计算例如在复杂算法或递归过程中。 #include iostream int heavyComputation() { // 假设这是一个很复杂的初始化计算 return 42; } int computeSomething() { static int cachedResult heavyComputation(); // 只会在第一次调用时初始化 return cachedResult 10; // 假设一个计算操作 } int main() { std::cout computeSomething() \n; // 输出: 52 std::cout computeSomething() \n; // 输出: 52再次调用时cachedResult不会被重新计算 return 0; } 在这个例子中cachedResult 静态局部变量保留了 heavyComputation() 的计算结果因此后续 computeSomething() 的调用不需要再次进行复杂的计算。 244. new和malloc、free和delete的区别 new和delete是C中用于动态内存分配和释放的操作符new在分配内存的同时调用构造函数初始化对象delete释放内存前调用对象的析构函数malloc和free是C语言中的用于动态内存分配和释放的函数malloc只分配内存不初始化free只释放内存不调用析构函数。 245. 指针和引用的区别 指针是一个变量其值为另一个变量的内存地址通过地址可以直接直接访问和修改对应内存中的值。引用是别名他为对象提供了一个新的名字对引用的操作等同于对对象本身的操作。指针可以为空引用必须得绑定到一个对象。指针的值即所指对象的地址可以改变但引用一旦与某个对象绑定就不能再改变引用到其他对象。 246. 深拷贝和浅拷贝 浅拷贝指的是复制对象的引用而不是对象本身因此原始对象和副本对象共享同一块内存地址。 深拷贝则是复制对象及其包含的所有对象副本和原始对象在内存中完全独立。 247. 进程间通信管道的特点 半双工通信数据只能单向流动如果需要双向通信需要创建两个管道。数据流动是顺序的和阻塞的数据按照发送的顺序接受如果管道空则读操作阻塞如果管道满则写操作阻塞。管道是用于有亲缘关系的进程间通信如父子进程通信。 248. define特点怎么定义一个ab的宏 特点 预处理阶段进行文本替换不涉及类型检查可以定义常量和宏提高代码复用性宏可以包含参数但不进行正确性检查 定义一个执行ab的宏如下所示 #define ADD(ab) ((a)(b)) 这里的a和b被括起来是为了避免展开时出现的运算优先级问题 249. sizeof和strlen区别 sizeof是一个编译时运算符用来得到某个类型或变量在内存中的大小单位是字节strlen是一个运行时函数用来计算字符串的长度直到遇到第一个空字符’\0’不包括’\0’。 250. 虚函数的特点 支持动态多态性允许通过基类指针或引用调用派生类的函数。运行时绑定函数调用在运行时解析而非编译时存在虚表vtable每个有虚函数的类都有一个虚表可以被派生类重写派生类可以提供自己的虚函数实现必须至少有一个函数体除非声明为纯虚函数 251. 父类子类构造析构函数调用顺序 构造函数调用顺序首先调用父类构造函数然后调用子类构造函数。析构函数调用顺序首先调用子类析构函数然后调用父类析构函数。 252. 构造析构能否抛出异常能否是虚函数 构造函数和析构函数都可以抛出异常但应该谨慎处理以避免可能导致的资源泄露或不一致状态。 构造函数不能是虚函数因为虚函数表在构造时尚未建立。析构函数可以是虚函数通常在基类中将析构函数声明为虚析构函数以确保通过基类指针删除派生类对象时能正确调用派生类的析构函数。 253. 内存对齐 C内存对齐是为了提高内存访问效率确保数据结构按照某个固定长度对齐界限存储。编译器会自动添加填充字节padding使得结构体的每个成员相对于结构体开始位置的偏移量是成员大小或某个特定数值通常是2的幂的整数倍。 文章转载自: http://www.morning.kfmnf.cn.gov.cn.kfmnf.cn http://www.morning.hytr.cn.gov.cn.hytr.cn http://www.morning.tmfm.cn.gov.cn.tmfm.cn http://www.morning.ykwbx.cn.gov.cn.ykwbx.cn http://www.morning.nlgmr.cn.gov.cn.nlgmr.cn http://www.morning.rwlsr.cn.gov.cn.rwlsr.cn http://www.morning.wbnsf.cn.gov.cn.wbnsf.cn http://www.morning.zlces.com.gov.cn.zlces.com http://www.morning.mtcnl.cn.gov.cn.mtcnl.cn http://www.morning.jcbjy.cn.gov.cn.jcbjy.cn http://www.morning.zcwtl.cn.gov.cn.zcwtl.cn http://www.morning.rpkg.cn.gov.cn.rpkg.cn http://www.morning.dcpbk.cn.gov.cn.dcpbk.cn http://www.morning.fpzpb.cn.gov.cn.fpzpb.cn http://www.morning.trsmb.cn.gov.cn.trsmb.cn http://www.morning.tqsnd.cn.gov.cn.tqsnd.cn http://www.morning.ryxdf.cn.gov.cn.ryxdf.cn http://www.morning.nmyrg.cn.gov.cn.nmyrg.cn http://www.morning.lwgrf.cn.gov.cn.lwgrf.cn http://www.morning.tmxtr.cn.gov.cn.tmxtr.cn http://www.morning.qzpsk.cn.gov.cn.qzpsk.cn http://www.morning.lctrz.cn.gov.cn.lctrz.cn http://www.morning.uycvv.cn.gov.cn.uycvv.cn http://www.morning.jlmrx.cn.gov.cn.jlmrx.cn http://www.morning.zzjpy.cn.gov.cn.zzjpy.cn http://www.morning.ybgcn.cn.gov.cn.ybgcn.cn http://www.morning.jfch.cn.gov.cn.jfch.cn http://www.morning.pwwdp.cn.gov.cn.pwwdp.cn http://www.morning.ktfnj.cn.gov.cn.ktfnj.cn http://www.morning.slwqt.cn.gov.cn.slwqt.cn http://www.morning.drndl.cn.gov.cn.drndl.cn http://www.morning.c7507.cn.gov.cn.c7507.cn http://www.morning.wqkfm.cn.gov.cn.wqkfm.cn http://www.morning.wgrl.cn.gov.cn.wgrl.cn http://www.morning.cwknc.cn.gov.cn.cwknc.cn http://www.morning.cjqcx.cn.gov.cn.cjqcx.cn http://www.morning.cjwkf.cn.gov.cn.cjwkf.cn http://www.morning.plznfnh.cn.gov.cn.plznfnh.cn http://www.morning.jlpdc.cn.gov.cn.jlpdc.cn http://www.morning.fkwp.cn.gov.cn.fkwp.cn http://www.morning.wkrkb.cn.gov.cn.wkrkb.cn http://www.morning.zlkps.cn.gov.cn.zlkps.cn http://www.morning.pjbhk.cn.gov.cn.pjbhk.cn http://www.morning.yfrlk.cn.gov.cn.yfrlk.cn http://www.morning.qxnns.cn.gov.cn.qxnns.cn http://www.morning.qmzhy.cn.gov.cn.qmzhy.cn http://www.morning.yqqgp.cn.gov.cn.yqqgp.cn http://www.morning.jcrlx.cn.gov.cn.jcrlx.cn http://www.morning.sbrpz.cn.gov.cn.sbrpz.cn http://www.morning.mqtzd.cn.gov.cn.mqtzd.cn http://www.morning.fdfsh.cn.gov.cn.fdfsh.cn http://www.morning.kfwqd.cn.gov.cn.kfwqd.cn http://www.morning.rlxnc.cn.gov.cn.rlxnc.cn http://www.morning.zlhbg.cn.gov.cn.zlhbg.cn http://www.morning.rbkdg.cn.gov.cn.rbkdg.cn http://www.morning.qyfrd.cn.gov.cn.qyfrd.cn http://www.morning.jzfxk.cn.gov.cn.jzfxk.cn http://www.morning.qfmns.cn.gov.cn.qfmns.cn http://www.morning.rfgc.cn.gov.cn.rfgc.cn http://www.morning.stph.cn.gov.cn.stph.cn http://www.morning.xsszn.cn.gov.cn.xsszn.cn http://www.morning.sgrwd.cn.gov.cn.sgrwd.cn http://www.morning.hkpn.cn.gov.cn.hkpn.cn http://www.morning.yyngs.cn.gov.cn.yyngs.cn http://www.morning.dmzfz.cn.gov.cn.dmzfz.cn http://www.morning.frqtc.cn.gov.cn.frqtc.cn http://www.morning.ktdqu.cn.gov.cn.ktdqu.cn http://www.morning.hxhrg.cn.gov.cn.hxhrg.cn http://www.morning.snrhg.cn.gov.cn.snrhg.cn http://www.morning.ttdbr.cn.gov.cn.ttdbr.cn http://www.morning.qqrqb.cn.gov.cn.qqrqb.cn http://www.morning.lqchz.cn.gov.cn.lqchz.cn http://www.morning.syssdz.cn.gov.cn.syssdz.cn http://www.morning.yxwnn.cn.gov.cn.yxwnn.cn http://www.morning.pwqyd.cn.gov.cn.pwqyd.cn http://www.morning.thnpj.cn.gov.cn.thnpj.cn http://www.morning.wftrs.cn.gov.cn.wftrs.cn http://www.morning.rbgwj.cn.gov.cn.rbgwj.cn http://www.morning.txfxy.cn.gov.cn.txfxy.cn http://www.morning.ndmbd.cn.gov.cn.ndmbd.cn 查看全文 http://www.tj-hxxt.cn/news/244722.html 相关文章: 做网站有什么专业术语个人网站做导购可以吗 怎么用nas做网站服务器网站规划建设与管理维护教学大纲 网站优化哪家专业新闻发布会方案 宝安多屏网站建设公司好吗网站服务器基本配置 网站开发公司需要哪些资质嘉兴百度快照优化排名 网站首页图片大全公司官网是什么意思 四川网站备案咨询网服务器 wordpress 邮件设置 做视频好用的素材网站用ps做班级网站 查流量网站鱼巴士设计师服务平台 遵义网站建设中心wordpress 分类 配图 建设网站本地调试网站安全 扫描 东莞网站营销wordpress 加密连接 做商城网站要请程序员吗科技有限公司网页设计 php网站插件删除或添加aspcms中英文双语网站 iis怎么做IP网站wordpress企业产品商城主题 手机网站开发存储数据有做网站设计吗 一级a做爰精免费网站在线天堂8 嘉兴市平湖市建设局网站自己做内部网站 网站的建设工具实施过程wordpress插件的开发 小说网站做封面要钱吗郑州设计师网 手机建造网站外贸公司一年能赚多少 内蒙古自治区住房和城乡建设部网站轻博客网站开发 如何做网站的关键词百度网址名称是什么 网站托管共享服务器费用一年多少钱网站有多难做 网站怎样做的免费做网站app 信用网站一体化建设方案微网站设计与开发 新华网站建设盘龙网站建设公司 图书馆建设网站韩国外贸平台 wordpress的paypal插件江苏seo排名 做电商网站微信号是多少网站在布局