C++面试总结(一)

2023-10-30

参考博客:[C++]C++面试知识总结 - blackwall - 博客园

【C++】面试题目,整理自牛客网_四轩茶屋-CSDN博客_c++ 牛客网 

1、sizeof和strlen的区别

  • sizeof是运算符,计算数据所占的内存空间;strlen()是一个函数,计算字符数组的字符数。
  • sizeof可以用类型作参数;strlen()只能用char*作参数,必须是以‘/0’结束。
  • 数组做sizeof的参数不退化,传递给strlen就退化为指针了。
  • sizeof是C语言的一种单目操作符,并不是函数。sizeof以字节的形式返回操作数的大小。

2、static的相关说明 

 static成员变量和static成员函数

  • static数据成员独立于该类的任意对象而存在。
  • static数据成员(const static数据成员除外)在类定义体内声明,必须在类外进行初始化。
  • static数据成员定义放在cpp文件中,不能放在初始化列表中。
  • static成员函数在类的外部定义。
  • Static成员函数没有this形参。
  • 可以直接访问所属类的static成员,不能直接使用非static成员。
  • 因为static成员不是任何对象的组成部分,所以static成员函数不能被声明为const。
  • static成员函数也不能被声明为虚函数。

static总结

  • 函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值。
  • 在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问。
  • 在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内。
  • 在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝。
  • 在类中的static成员函数属于整个类所拥有,这个函数不接收this指针,因而只能访问类的static成员变量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++面试总结(一) 的相关文章

  • 如何以编程方式将访问键(快捷方式)添加到 WPF ContextMenu?

    我已经有以下内容 var myContextMenu new System Windows Controls ContextMenu var exitItem new MenuItem exitItem Header E xit exitI
  • 如何在C++中生成非常大的随机数

    我想使用 C 生成 0 2 64 范围内的非常大的随机数 我已经使用了 rand 函数 但它没有生成非常大的数字 有人可以帮忙吗 使用c 11 使用标准c 11的随机库 http en cppreference com w cpp nume
  • Visual Studios 2015 中的“恢复 NuGet 包”没有执行任何操作

    我将解决方案从 SVN 拉入 Visual Studios 2015 代码中的一些 使用 引用出现错误 因此我尝试在右键单击 解决方案 中的解决方案时运行 恢复 NuGet 包 选项探索者 这没有任何作用 我必须手动进入 nuget 管理器
  • 在 WCF 上重用我的 PagedList 对象

    问题 我有一个自定义集合PagedList
  • Qt/c++ 随机字符串生成[重复]

    这个问题在这里已经有答案了 我正在创建一个应用程序 需要生成多个随机字符串 几乎就像一个由一定长度的 ASCII 字符组成的唯一 ID 这些字符混合有大写 小写 数字字符 有没有 Qt 库可以实现这一点 如果没有 在纯 C 中生成多个随机字
  • 头文件中实现的函数的静态与内联

    我想到的方式inline在 C 中用于链接 作用域 我把它放在同一个篮子里extern and static对于全局对象 通常 对于在头文件中实现的函数 我的首选解决方案是将其设为静态 In Foo h static void foo Do
  • 我可以将 char 或 DateTime 设置为 null 吗?

    我可以将 null 设置为char数据类型 并且DateTime在 C 中 多谢你们 这是不可能的 它是一个值类型 使用 char myChar null DateTime myDate null 这相当于 Nullable
  • 预编译头和 Visual Studio

    有没有办法设置 Visual Studio 解决方案参数 以便它只创建预编译头而不构建整个解决方案 具体来说 它是一个巨大的 C 解决方案 本身有许多项目 谢谢 仅选择 pch 创建者源文件 通常是 stdafx cpp 然后编译该文件 C
  • 如何使用 CUDA/Thrust 对两个数组/向量根据其中一个数组中的值进行排序

    这是一个关于编程的概念问题 总而言之 我有两个数组 向量 我需要对一个数组 向量进行排序 并将更改传播到另一个数组 向量中 这样 如果我对 arrayOne 进行排序 则对于排序中的每个交换 arrayTwo 也会发生同样的情况 现在 我知
  • 为什么 BinaryFormatter 可以序列化 Action<> 但 Json.net 不能

    尝试序列化 反序列化 Action 尝试我的 1天真 JsonConvert SerializeObject myAction JsonConvert Deserialize
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • 本地时间的内存需要释放吗?

    void log time t current time 0 tm ptm localtime current stuf 只是想确定 我是否需要在方法结束时释放 tm 指针分配的内存 不 你不应该释放它 该结构是静态分配的 检查文档 htt
  • linq where 子句和 count 导致 null 异常

    除非 p School SchoolName 结果为 null 否则下面的代码将起作用 在这种情况下 它会导致 NullReferenceException if ExistingUsers Where p gt p StudentID i
  • 在 C# .NET 中对非 ASCII 字符进行编码

    我想向我的应用程序发送的电子邮件添加自定义标头 标头名称只能包含 ASCII 字符 但对于值和用户可能会输入 UTF 8 字符 我必须对它们进行 Base64 编码 此外 我还必须将它们解码回 UTF 8 以便在 UI 中向用户显示它们 最
  • 调试错误:在 vc++ 项目中使用 COM 时发生 所需的运行时?

    我为我的工作创建了一个 COM 组件 我也注册了该组件 在我的系统上 我有两个虚拟机工作站 在我的第一个工作站中 它运行良好 在我的第二个工作站中 它显示一个包含消息的错误框该程序需要一段时间并以不寻常的方式关闭 请联系应用程序管理员 我认
  • 'iter' 的名称查找已更改为新的 ISO 'for' 范围

    我正在尝试编译下面的两个文件 但从编译器收到错误消息 gcc 4 3 3 Linux 错误位于带有以下符号的行 LINE WITH ERROR 我做错了什么 我该怎么改变 路易斯 g c b h b cpp b cpp In functio
  • 如何重用具有稍微不同的 ProcessStartInfo 实例的 Process 实例?

    我有以下开始的代码robocopy https technet microsoft com en us library cc733145 aspx as a Process 我还需要进行数据库查询以确定每次需要复制哪些目录robocopy被
  • Unity - 在生成时获取随机颜色

    我有一个小问题 我想在我的场景中生成四边形 它们都应该有红色或绿色作为材质 但 Random Range 函数只能是 int 我该如何解决它 void SpawningSquadsRnd rndColor 0 Color red rndCo
  • 强制函数调用的顺序?

    假设我有一个抽象基类 并且我想要一个必须由派生类实现的纯虚方法 但我想确保派生方法以特定顺序调用函数 我可以做什么来强制执行它 I E base class virtual void doABC 0 virtual void A 0 vir
  • Asp.Net Core 中的 SSL 不起作用

    我从 Visual Studio 创建了一个简单的 Web 应用程序Web Application Net Core 具有个人用户帐户授权的模板 然后 我启用了 SSLProject gt MyProject Properties 将带有

随机推荐

  • Linux USB摄像头驱动【转】

    本文转载自 http www itdadao com articles c15a509940p0 html 在 cortex a8 中 可接入摄像头的接口通常可以分为两种 CAMERA 接口和 USB 接口的摄像头 这一章主要是介绍 USB
  • 什么是Python?

    Python由荷兰数学和计算机科学研究学会的吉多 范罗苏姆 Guido van Rossum 于1990 年代初设计 作为一门叫做ABC语言的替代品 Python提供了高效的高级数据结构 还能简单有效地面向对象编程 Python语法和动态类
  • 设计模式(单例模式、工厂模式、观察者模式)

    设计模式是什么 背景 目前企业级分布式软件开发普遍采用面向对象的方法 OOD 面向对象设计 直接导致了设计模式的发展 开发面向对象的软件是困难的 而开发可复用的面向对象的软件更难 有经验的设计者重用过去的方案 采用设计模式使设计和代码具有良
  • SWPUCTF2019web题复现

    SWPU2019 web1 easy web 有一个登录框 试了试万能密码失败 那就注册吧 登录后发现有一个申请广告 在标题处输入11111111 发现报错 应该是sql注入 禁用了or 空格等等 先使用union发现有22列 1 unio
  • 给定一系列正整数请按要求对数字进行分类并输出以下 5 个数字:A1=能被 5 整除的数字中所有偶数的和被5除后余1的数字按给出顺序进行交错求和被5除后余2的数字的个数(最后一个测试点错误原因分析)

    PAT 1012 数字分类 最后一个测试点错误原因分析 给定一系列正整数 请按要求对数字进行分类 并输出以下 5 个数字 A1 能被 5 整除的数字中所有偶数的和 A2 将被 5 除后余 1 的数字按给出顺序进行交错求和 即计算 n1 n2
  • QT模态对话框

    下面来说说模态对话框 什么是模态对话框 所谓模态 就是在对话框弹出来之后 能够阻塞后面的窗口 Windows 上一般在退出时会弹出来一个问你是否保存的对话框 就是一个模态对话框 当它出现的时候 后面的窗口是不能点击的 必须要你关闭这个对话框
  • 毕业设计-基于MATLAB的尿沉渣图像有形成分的自动分类方法的研究与实现

    目录 前言 课题背景和意义 实现技术思路 一 尿沉渣图像的预处理 二 边缘检测算法 三 有形成分的特征提取 四 使川BP神经网络对各有形成分分类 部分源代码 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为
  • js逆向-某讯漫画

    声明 本文仅供学习参考 切勿用于他途 违者后果自负 前言 今天分析一个漫画网站 其中对于图片的url进行了加密 目标网站 aHR0cHM6Ly9hYy5xcS5jb20vQ29taWMvY29taWNJbmZvL2lkLzUzMTA0MA
  • 边缘计算产业链详解

    先上福利 第 1 步 关注本公众号 分享此文到您朋友圈 第 2 步 扫描下方二维码 添加运营老师微信 将所发朋友圈的截图发给运营老师 我们会按先后顺序选出前10名小伙伴 送出 价值 99 8 元的 从云端到边缘 边缘计算的产业链与行业应用
  • kali安装及更换源(详解)

    文章目录 一 kali下载 二 kali安装 1 kali新建虚拟机 2 kali安装 3 kali更换源 本文写的稍微有点啰嗦 博主也是从小白过来的 结合了自己的经历 写的非常详细 希望不要介意 大神挑着看就行 一 kali下载 虽然ka
  • 回文串

    回文串 回文串最基本的特征就是对称 如果使用对折方式 那么要考虑奇偶的问题 所以 使用双指针的方式 习题 leetcode第125题 验证回文串 给定一个字符串 验证它是否是回文串 只考虑字母和数字字符 可以忽略字母的大小写 说明 本题中
  • 芯片测试的术语解释(FT、CP),持续更新....

    本篇是个人学习知识笔记 可能会持续更新 如有任何问题欢迎大家批评指正 ltt hkaco com 图源请参考图片水印 一 芯片的生产流程 二 芯片生产过程中涉及到的测试设备 三 后道检测中的CP测试和FT测试 1 CP测试 CP测试 英文全
  • maven settings 私服配置

    如果只设置mirrors maven不会自动根据你设置的url去寻找资源 还需要设置profile和启用profile
  • centos7安装ansible图形化管理界面AWX

    这里写目录标题 AWX简介 AWX安装 安装docker 安装docker compose 安装python 下载并安装AWX 访问web界面 AWX简介 AWX 提供基于 Web 的用户界面 REST API 和基于ansible构建的任
  • FairMOT配置(VS2019+Win10+CUDA11.0)

    配置环境 Win10 VS2019 CUDA11 0 Pytorch1 7 配置步骤 1 下载FairMOT git clone recursive https github com ifzhang FairMOT git 2 使用anac
  • 半同步复制,从库的日常管理和错误处理

    推荐的清理purge的方法 gt purge binary logs to mybin log000001 半同步复制 主库产生binlog到主库的binlog file 传到从库中继日志 然后从库应用 即 传输是异步的 应用也是异步的 半
  • linux service mysql start_解决linux(centos7)重新安装mysql systemctl start mysqld.service时报错...

    重新安装mysql时 运行 systemctl status mysqld service 报错 root test dcruxue systemctl start mysqld service Job for mysqld service
  • Linux df -i 100%问题处理 inode索引节点爆满解决

    1 查看 df i 2 查找小文件目录 find type f size 0 find type f size 0 注意 去掉 proc sys 文件夹 因为是系统的东西不能动 3 删除无用的小文件或文件夹
  • 存储系统服务器'设计方案,一种新型元数据存储系统的设计与实现

    摘要 随着信息科技的高速发展 互联网 时代的到来 网络上存储的数据越来越大 传统的存储方式已经不能满足需求 分布式文件系统成为主流 分布式文件系统将元数据和数据分开存储 元数据存储系统成为连接用户和数据存储服务器的桥梁 因此元数据存储系统的
  • C++面试总结(一)

    参考博客 C C 面试知识总结 blackwall 博客园 C 面试题目 整理自牛客网 四轩茶屋 CSDN博客 c 牛客网 1 sizeof和strlen的区别 sizeof是运算符 计算数据所占的内存空间 strlen 是一个函数 计算字