C++每日選擇題—Day1

第一題

以下C++代碼會輸出什么?

#include <iostream>
using namespace std;
class A 
{
public:A() {}~A() {}
private:static int a;
};
int main() {cout << sizeof(A) << endl;return 0;
}

A:0

B:1

C:4

D:8

答案及解析 B

首先,成員函數不存在于實例化對象 中,其次static定義的靜態成員變量不屬于任何一個對象,是屬于整個類的,也不存在實例化對象中。所以這個類其實啥都沒有,記住,什么都沒有存的類是默認一個字節的,所以選擇B

相關博客:C/C++內存對齊規則(結構體、聯合體、類)-CSDN博客

第二題

不考慮任何編譯器優化(如:NRVO),下述代碼第10行會發生()

#include <stdio.h>
class B
{};
B func(const B& rhs)
{return rhs;
}
int main()
{B b1, b2;b2 = func(b1);??//10
}

A:一次默認構造函數,一次拷貝構造函數,一次析構函數,一次(拷貝賦值運算符)operator=

B:二次拷貝構造函數,一次析構函數

C:一次(拷貝賦值運算符)operator=,一次析構函數

D:一次拷貝構造函數,一次析構函數,一次(拷貝賦值運算符)operator=

答案及解析 D

注意說的是第十行,所以不用考慮B b1,b2;

而第十行,首先是調用函數func,由于是引用傳參,不需要拷貝構造,但是在返回值這里需要拷貝一個臨時變量tmp,用臨時變量tmp來返回,所以b2 = tmp;所以這里就是調用的賦值運算符重載函數,然后tmp調用析構函數,因為這個臨時變量他tmp完成它的任務來,就會被銷毀;

第三題

3. 在32位系統中,關于下面程序說法正確的是()

class Item 
{
private:char *desc;int storage;
public:Item()
{desc = new char[51];}void setInfo(char *dsrc, int num) 
{strcpy(desc,dsrc);   storage = num;}
};int main() 
{Item stock;   stock.setInfo("pen",20);return 0;
}

A:main函數定義了一個stock對象占8個字節

B:storage和desc成員各占4個字節

C:存在內存泄漏的問題

D:存在編譯錯誤

答案及解析?ABC

A:stock是Item這個類的實例化對象,占了8個字節,指針在32位機器上是4字節,int是4字節,通過內存對齊,為8字節; 不懂的可以看這篇博客: C/C++內存對齊規則(結構體、聯合體、類)-CSDN博客B???????B
B:正確,int類型4字節,32位的指針類型為4字節
C:存在內存泄漏,因為我們在構造函數這里開辟了空間,沒有釋放
D:不存在編譯錯誤

第四題

4. 對靜態成員的正確描述是()?

A:靜態數據成員要在類外定義和初始化

B:非靜態成員函數也可以操作靜態數據成員

C:全局變量、靜態全局變量和靜態局部變量都存放在內存的靜態存儲區域,局部變量存放在內存的棧區

D:調用靜態成員函數時要通過類或對象激活,所以靜態成員函數擁有this指針

答案及解析? B C

A:靜態成員變量,在類里面聲明,在類外面定義;

B:因為靜態成員變量,是屬于整個類的,所以并不需要this指針,非靜態成員函數可以不使用this指針直接用靜態成員變量;

C:全局變量,靜態變量存在靜態區,局部變量存在棧;

D:靜態成員函數是沒有this指針的,因為也是屬于整個類的;

第五題

5. 以下程序打印的兩個字符分別是()

#include<stdio.h>
#include<iostream>
using namespace std;
struct object 
{char data[3];
};int main() 
{object obj_array[3] = {{'a', 'b', 'c'}, {'d', 'e', 'f'}, {'g', 'h', 'i'}};object *cur = obj_array;printf("%c %c\n", *(char *)((char *)(cur) + 2), *(char *)(cur + 2));return 0;
}

A:c g

B:b d

C:g g

D:g c

答案及解析?A

本題是考查對指針的加整數的考查;

obj_array[3] 這個是存放的字符串的結構體數組,數組每個元素都是字符串;

我們用cur指針指向這個結構體數組的首元素;

我們(char*)cur 是強制類型轉換成char類型,目的就是在+2的時候,移動的是兩個字節;

所以移動到c位置,(char*) 再強制類型轉換一下,是為了解引用的時候取的也是一個char類型,所以就是c,下一個同理;

用圖表示:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/164605.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/164605.shtml
英文地址,請注明出處:http://en.pswp.cn/news/164605.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2023年最新PyCharm環境搭建教程(含Python下載安裝)

文章目錄 寫在前面PythonPython簡介Python生態圈Python下載安裝 PyCharmPyCharm簡介PyCharm下載安裝PyCharm環境搭建 寫在后面 寫在前面 最近博主收到了好多小伙伴的吐槽稱不會下載安裝python&#xff0c;博主聽到后非常的扎心&#xff0c;經過博主幾天的熬夜加班&#xff0c;…

單鏈表實現【隊列】

目錄 隊列的概念及其結構 隊列的實現 數組隊列 鏈式隊列 隊列的常見接口的實現 主函數Test.c 頭文件&函數聲明Queue.h 頭文件 函數聲明 函數實現Queue.c 初始化QueueInit 創建節點Createnode 空間釋放QueueDestroy 入隊列QueuePush 出隊列QueuePop 隊頭元…

Hyper-V系列:Hyper-V啟動、創建虛擬機、與主機傳輸文件

Hyper-V啟動、創建虛擬機、與主機傳輸文件 一. 簡介二. 啟用Hyper-V的方式也很簡單:一、從“任務管理器”的“性能”查看虛擬化是否啟用,未啟用的需要到BIOS開啟:右下角可以看到“虛擬化:已啟用”二、啟用Hyper-v和虛擬機1.電腦左下角右鍵打開應用界面——可選功能2.在可選…

JavaScript 原始數據類型和對應的對象類型(內置對象)之間的關系

JavaScript 原始數據類型和對應的對象類型&#xff08;內置對象&#xff09;之間的關系 JavaScript 的原始&#xff08;primitive&#xff09;數據類型包括包括數字&#xff08;Number&#xff09;、字符串&#xff08;String&#xff09;、布爾值&#xff08;Boolean&#xf…

【數據結構】E : 貨幣套匯(圖路徑)

E : 貨幣套匯&#xff08;圖路徑&#xff09; Description 套匯是指利用貨幣匯兌率的差異將一個單位的某種貨幣轉換為大于一個單位的同種貨幣。例如&#xff0c;假定1 美元可以買0.7 英鎊&#xff0c;1 英鎊可以買9.5 法郎&#xff0c;1法郎可以買到0.16美元。通過貨幣兌換&a…

ELK企業級日志分析平臺——ES集群監控

啟用xpack認證 官網&#xff1a;https://www.elastic.co/guide/en/elasticsearch/reference/7.6/configuring-tls.html#node-certificates 在elk1上生成證書 [rootelk1 ~]# cd /usr/share/elasticsearch/[rootelk1 elasticsearch]# bin/elasticsearch-certutil ca[rootelk1 ela…

GB/T 29498-2013 木門窗檢測

木門窗是指以木材、木質復合材料為主要材料制作框和扇的門窗。 GB/T 29498-2013 木門窗檢測項目 測試項目 測試標準 外觀質量 GB/T 29498 尺寸 GB/T 29498 裝配質量 GB/T 29498 含水率 GB/T 17657 附著力 GB/T 4893.4 外門窗耐冷熱循環 GB/T 4893.7 耐劃痕 GB/…

Volcano3D繪制3D火山圖

一邊學習&#xff0c;一邊總結&#xff0c;一邊分享&#xff01; 本期教程內容 **注&#xff1a;**本教程詳細內容 Volcano3D繪制3D火山圖 一、前言 火山圖是做差異分析中最常用到的圖形&#xff0c;在前面的推文中&#xff0c;我們也推出了好幾期火山圖的繪制教程&#xff0…

【代數學習題4.2】從零理解范數與跡 —— 求數域元素的范數與跡

從零理解范數與跡 —— 求數域元素的范數與跡 寫在最前面題目解答 2. 范數 N N N思路求解過程python求解 3. 數域 K K K 的范數 N K N_K NK?思路求解過程Python求解分析解題步驟 4. 跡 T T T求解過程共軛元素計算跡 python求解分析解題步驟 5. 數域 K K K 的跡 T K T_K …

讀書筆記——《黑猩猩的政治》

前言 弗朗斯德瓦爾&#xff08;Frans de Waal)的代表作《黑猩猩政治》成書于1982年&#xff0c;是它的首部書籍作品&#xff0c;也是美國國會新任議員的被推薦讀物。之前看的他另一部作品的《萬智有靈》是2016年的作品&#xff0c;時間跨度居然這么大。《萬智有靈》介紹了許多…

代碼隨想錄 135. 分發糖果

題目 n 個孩子站成一排。給你一個整數數組 ratings 表示每個孩子的評分。 你需要按照以下要求&#xff0c;給這些孩子分發糖果&#xff1a; 每個孩子至少分配到 1 個糖果。 相鄰兩個孩子評分更高的孩子會獲得更多的糖果。 請你給每個孩子分發糖果&#xff0c;計算并返回需要準…

SDK廣告類型及其作用與收益分析

在移動應用開發領域&#xff0c;軟件開發工具包&#xff08;SDK&#xff09;廣告已經成為應用開發者們獲取收益的一種重要途徑。不同類型的SDK廣告提供了多樣化的選擇&#xff0c;以滿足開發者的需求。本文將介紹幾種常見的SDK廣告類型&#xff0c;并深入探討它們的作用及對開發…

SPASS-信度分析

信度分析概述 效度 效度指的是量表是否真正反映了我們希望測量的東西。一般來說&#xff0c;有4種類型的效度&#xff1a;內容效度、標準效度、結構效度和區分效度。內容效度是一種基于概念的評價指標&#xff0c;其他三種效度是基于經驗的評價指標。如果一個量表實際上是有效…

【亞太杯前兩問論文】2023年第十三屆APMCM亞太地區大學生數學建模競賽——(文末領取方式)

2023年第十三屆APMCM亞太地區大學生數學建模競賽——論文無償分享&#xff01;&#xff01;&#xff01; C題前兩問論文代碼已出&#xff0c;其他賽題及后續論文代碼會持續更新。 祝各位小伙伴都能在比賽中發揮出色&#xff0c;取得心儀的成績呦&#xff01;一起加油&#xff…

vscode在運行c語言時,無法scanf輸入

問題&#xff1a; 在學習c語言中&#xff0c;我在使用scanf和cin時無法在終端進行輸入(運行了但是無法輸入)&#xff0c;在網上尋找答案&#xff0c;并寫下筆記 解決方法 選擇左上角 文件->首選項&#xff08;preferences&#xff09;->設置&#xff08;settings&#xf…

網關和鏈路追蹤

Spring Cloud的網關 在Spring Cloud中&#xff0c;網關&#xff08;Gateway&#xff09;是一種用于管理和路由微服務請求的中間層服務。它充當了整個微服務架構的入口點&#xff0c;負責將來自外部的請求轉發到相應的微服務上。常見的網關包括Spring Cloud Gateway和Netflix Zu…

Java類加載那些事

Java源文件&#xff08;.java文件&#xff09;被編譯器編譯后變為字節碼形式的類文件&#xff08;.class文件&#xff09;&#xff0c;Java類加載的過程就是JVM加載.class的二進制文件并且放到內存中&#xff0c;將數據放到方法區&#xff0c;并且在堆區構造一個java.lang.clas…

動態規劃從入門到精通

目錄 動態規劃的詳解 動態規劃的應用 機器人到達指定位置數 換錢的最少貨幣數 排成一條線的紙牌博弈問題 象棋中馬的跳法 Bob的生存概率 換錢的方法數 動態規劃的總結 動態規劃的詳解 暴力嘗試遞歸操作中有很多重復計算的操作&#xff0c;浪費時間。動態規劃就是減少暴力…

大模型增量預訓練參數說明

在增量預訓練過程中通常需要設置三類或四類參數,模型參數,數據參數,訓練參數,額外參數。 下面分別針對這四種參數進行說明。 歡迎關注公眾號 模型參數 model_type模型類型,例如bloom,llama,baichuan,qwen等。 model_name_or_path模型名稱或者路徑。 tokenizer_name_or…

JS數組常用的20種方法詳解(每一個方法都有例子,超全面,超好理解的教程,干貨滿滿)

目錄 1.會改變原數組的方法&#xff08;7種&#xff09; 1.push() 2.pop() 3.unshift() 4.shift() 5.reverse() 6.sort() 7.splice() 2.不改變原數組的方法&#xff08;13種&#xff0c;返回的新數組是從原數組淺拷貝來的&#xff09; 1.concat() 2.join() 3.slice…