嵌入式笔试选择题总结

Posted Jocelin47

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了嵌入式笔试选择题总结相关的知识,希望对你有一定的参考价值。

C++部分

1、默认的无参构造函数

#include <iostream>
#include <string>
#include <map>

using namespace std;


struct X{
    X(){ cout << "A";}
    X(int x){ cout << x << "B";}
};
int main(){
    
    X a();
    X x(4); 
    return 0;
}

执行X a();这句话的时候并不会进入函数体,不会打印。
执行下面4赋值的时候才会进入到函数体内

2、属于函数指针的是

(int*) func(int,int)
int *func(int,int)

这两个都不是

int (*func)(int,int) //这才是

3、char截断int类型

int a =320;
char *ptr;
ptr = (char*)&a;
cout << *ptr << endl;

结果为64
320的二进制为101000000
截断后8位为:1000000 = 64

4、析构函数中不要抛出异常

https://www.cnblogs.com/zhyg6516/archive/2011/03/08/1977007.html

5、多重继承下,不同基类指针指向同一子类对象的地址

#include <iostream>

using namespace std;

class ClassA 
{ 
public: 
virtual ~ ClassA(){}; 
}; 
class ClassB 
{ 
public: 
   virtual ~ ClassB(){}; 
}; 
class ClassC : public ClassA,public ClassB 
{ 
public: 
}; 
  

int main(){
    ClassC* pC = new ClassC(); 
    ClassA* pA=pC; 
    ClassB* pB=pC; 
    
    printf("%d\\n", pA);
    printf("%d\\n", pB);
    printf("%d\\n", pC);

    return 0;
}

结果显示 A和C的地址相同
18410528
18410536
18410528

6、C++左右值引用判断

#include <iostream>
#include <cstdio>
#include <cstring>
#include <typeinfo>
#include <vector>
#include <type_traits>
#include <string>
using namespace std;

string retunfunc()
{
    string name{ "test" };
    return (name);
}
int main()
{
    int a = 10;
    decltype((a)) b = a;
    cout << is_lvalue_reference<decltype(true ? a: a)>::value << endl;
    cout << is_lvalue_reference<decltype(a)>::value << endl;
    cout << is_lvalue_reference<decltype(a++)>::value <<endl;
    cout << is_lvalue_reference<decltype(++a)>::value <<endl;
    cout << is_lvalue_reference<decltype(retunfunc())>::value<< endl;
    cout << is_lvalue_reference<decltype(move(retunfunc()))>::value << endl;
    string name(move(retunfunc()));
    cout << name.length() << endl;
    return 0;
}

结果:
1
0
0
1
0
0
4

is_lvalue_reference
在这里插入图片描述

7、 右值引用的转发

template<typename T>
void print(T&& v)
{}
如果传入一个string & ,v会被推导成什么类型?

string &&
string &
string
string*
考察转发右值引用吗?答案不确定猜是string

以上是关于嵌入式笔试选择题总结的主要内容,如果未能解决你的问题,请参考以下文章

嵌入式软件工程师笔试面试指南-数据结构与算法

笔试常考题--嵌入式软件开发

2018新浪Java笔试总结

腾讯校招前端开发笔试初试总结

微众银行2020前端实习生笔试总结

大疆面试笔试一部分总结