C++:每日选择题--Day3

第一题

  1. 指针变量p进行自加运算(即 执行p++;)后,地址偏移值为1,则其数据类型为,char说法是否正确?
    A:正确

B:错误

答案及解析 B

比如我们的空类,空类所占的字节为1,指向空类的指针,自加运算之后,地址偏移也是1;

第二题

  1. 有如下类定义,请问sizeof(A)的值为:
cpp 复制代码
class A 
{
  public:
    int fun1();
  private:
    int _a;
    static int b;
};

A:12

B:8

C:4

D:1

答案及解析 C

本题考查的是static类型的成员变量是否应该计算到sizeof里,答案是不需要;因为static类型的变量,不是属于某个对象的,是属于整个类的;所以不需要计算。

第三题

  1. 下面程序的输出结果是()
cpp 复制代码
#include <iostream>
using namespace std;
int i = 0;
int fun(int n) 
{
    static int a = 2;
    a++;
    return (a * n);
}
 
int main() 
{
    int k = 5;
    {
        int i = 2;
        k += fun(i);
    }
    k += fun(i);
    cout << k;
    return (0);
}

A:11

B:12

C:13

D:14

答案及解析 A

明天出解析,请谅解!

第四题

  1. 下面描述错误的是( )
    A.this指针是非静态成员函数的隐含形参.

B.每个非静态的成员函数都有一个this指针.

C.this指针是存在对象里面的.

D.this指针可以为空

答案及解析 C

A:this指针就是非静态成员函数都有的隐藏的形参,this指的是实例化对象的地址;而静态成员函数是属于整个类的,不是某个对象的,所以无法得到实例化对象的地址,也就不需要this指针了;

B:正确;

C:this指针是非静态成员函数的形参,存在的是函数栈帧,因为是形参,不存在对象里。

D:this指针一般不为空,但是可以强制转换为空;

第五题

  1. 在32位机器上用gcc编译以上代码,求sizeof(A),sizeof(B)分别是()
cpp 复制代码
class A 
{
    int a;
    short b;
    int c;
    char d;
};
class B 
{
    double a;
    short b;
    int c;
    char d;
};

A:12 16

B:12 12

C:16 24

D:16 20

答案及解析 C

依旧是内存对齐:C/C++内存对齐规则(结构体、联合体、类)-CSDN博客

相关推荐
夜不会漫长29 分钟前
C++:类和对象(2)
java·javascript·c++
ch.ju38 分钟前
Java—idea知识:如何创建新项目
java·开发语言·intellij-idea
无小道42 分钟前
C++ 中 `explicit` 关键字详解:彻底理解隐式类型转换
c++·explicit
Evand J1 小时前
【MATLAB例程,图像滤波降噪12】加权中值滑动窗口滤波(WMF)图像降噪,包含滤波质量评价。附代码下载链接
开发语言·图像处理·人工智能·计算机视觉·matlab·滑动窗口·滤波
蒸蒸yyyyzwd1 小时前
cpp 选手秋招学习笔记 day34
c++·八股
Tairitsu_H1 小时前
[C++] C++11类和STL的新特性
开发语言·c++·stl·c++11
承渊政道1 小时前
Python IDLE鸿蒙PC适配全记录:从Tkinter桌面程序到ArkUI原生开发闭环
开发语言·python·harmonyos·鸿蒙系统·桌面程序
Lucis__1 小时前
基于责任链模式的消息队列—异步处理流水线的最佳实践
linux·c++·消息队列·责任链模式·ipc
YMWM_1 小时前
查看realsense相机序列号脚本
开发语言·python·数码相机
传奇开心果编程2 小时前
【dioxus0.7基础语法学与练】第8课:RSX 宏 — Dioxus 声明式 UI 语法
开发语言·学习·rust