当前位置: 首页 > news >正文

C/C++经典题解析

以下题目都是来自何海涛博客的 C/C++/C#面试题精选 系列,感谢博主的整理。这些题不仅帮助我通过一些笔试,更重要的是帮助我很好的理解C/C++。以前很讨厌这类题,现在想来做些题还是很有用的,至少可以帮助你巩固知识加深理解。

为支持博主的原创,我附上文章的连接地址 点击打开链接。

在阅读中发现博主解释的还不够详细,为了能够更好的帮助网友,同时也帮助自己梳理一下知识,我重新整理了一下。


【1】C++中我们可以用static修饰一个类的成员函数,也可以用const修饰类的成员函数(写在函数的最后表示不能修改成员变量,不是指写在前面表示返回值为常量)。请问:能不能同时用staticconst修饰类的成员函数?

解析:答案是不可以的。我们用const修饰类的成员函数是为了类的实例不被该成员函数修改,其实现原理是当我们使用了const修饰一个成员函数时,比如下面的一个成员函数

void method(int parament) const;

编译器编译后是这样的

void method(const *this,int parament)

我们知道在类的方法中所有访问到类的成员时,都会在编译时加上一个隐藏的this指针,而this指针指向的是具体的那个实例本身。这也是实例化于同一个类的具体实例只通过同一个函数却能够正确的访问到属于自己的成员的原因。

回到正题,对this指针加上const修饰后我们就不能在这个方法中改变其成员变量了。

对于static修饰的成员函数,我们需要的是其能够改变实例的静态变量。既然能够改变也就不能够有const修饰了,因为这是冲突的。Static修饰的成员函数只能访问静态变量,而静态变量不属于具体的实例,它是所有产生于同一个类的具体实例都能够访问的。

通俗点说就是const修饰的是不变,static修饰的是变。两者一起用是有矛盾的。


【2】运行下面C++代码,输出是什么?

class A
{	
};class B
{	
public:	B() {}	~B() {}	
};class C
{	
public:	C() {}	virtual ~C() {}	
};int main(int argc,char* argv[])
{	printf("%d, %d, %d\n", sizeof(A), sizeof(B), sizeof(C));	return 0;	
}

输出结果为:

解析:class A是一个空类型,它的实例不包含任何信息,本来求sizeof应该是0。但当我们声明该类型的实例的时候,它必须在内存中占有一定的空间,否则无法使用这些实例。至于占用多少内存,由编译器决定。Visual Studio 2008中每个空类型的实例占用一个byte的空间。


class Bclass A的基础上添加了构造函数和析构函数。由于构造函数和析构函数的调用与类型的实例无关(调用它们只需要知道函数地址即可),在它的实例中不需要增加任何信息。所以sizeof(B)sizeof(A)一样,在Visual Studio 2008中都是1

class Cclass B的基础上把析构函数标注为虚拟函数。C++的编译器一旦发现一个类型中有虚拟函数,就会为该类型生成虚函数表,并在该类型的每一个实例中添加一个指向虚函数表的指针。在32位的机器上,一个指针占4个字节的空间,因此sizeof(C)4

关于虚函数有篇博文感觉写的很不错:陈皓的一篇博文点击打开链接 

3运行下面的C++代码,得到的结果是什么

class A
{
private:int m_value;public:A(int value){		m_value = value;		}void Print1()		{		printf("hello world");		}void Print2()		{		printf("%d", m_value);		}	
};int main(int argc, char* argv[])
{	A* pA = NULL;	pA->Print1();	pA->Print2();		return 0;	
}

运行结果如下所示:

可见输出hello world后程序就崩溃了!

解析:答案是Print1调用正常,打印出hello world,但运行至Print2时,程序崩溃。调用Print1时,并不需要pA的地址,因为Print1的函数地址是固定的。编译器会给Print1传入一个this指针,该指针为NULL,但在Print1中该this指针并没有用到。只要程序运行时没有访问不该访问的内存就不会出错,因此运行正常。在运行print2时,需要this指针才能得到m_value的值。由于此时this指针为NULL,因此程序崩溃了。

4.运行下面的C++代码,得到的结果是什么

class A
{
private:int m_value;public:A(int value){		m_value = value;		}void Print1()		{		printf("hello world");		}virtual void Print2()		{		printf("hello world");		}	
};int main(int argc, char* argv[])
{	A* pA = NULL;	pA->Print1();	pA->Print2();		return 0;	
}

程序 的运行结果和第3题的结果是一样的,出hello world后程序就崩溃了!

解析:答案是Print1调用正常,打印出hello world,但运行至Print2时,程序崩溃。Print1的调用情况和上面的题目一样,不在赘述。由于Print2是虚函数。C++调用虚函数的时候,要根据实例(即this指针指向的实例)中虚函数表指针得到虚函数表,再从虚函数表中找到函数的地址。由于这一步需要访问实例的地址(即this指针),而此时this指针为空指针,因此导致内存访问出错。

【5】.C++中静态成员函数能不能同时也是虚函数

分析:答案是不能。调用静态成员函数不要实例。但调用虚函数需要从一个实例中指向虚函数表的指针以得到函数的地址,因此调用虚函数需要一个实例。两者相互矛盾。

上面的5个题主要涉及cosnt成员函数,static成员函数,虚函数。

【6】.运行下列C++代码,输出什么?

struct Point3D
{	int x;	int y;	int z;	
};int main(int argc, char* argv[])
{	Point3D* pPoint = NULL;	int offset = (int)(&(pPoint)->z);	printf("%d", offset);return 0;
}

运行结果:

解析:由于在pPoint->z的前面加上了取地址符号,运行到此时的时候,会在pPoint的指针地址上加z在类型Point3D中的偏移量8。由于pPoint的地址是0,因此最终offset的值是8&(pPoint->z)的语意是求pPoint中变量z的地址(pPoint的地址0z的偏移量8),并不需要访问pPoint指向的内存。只要不访问非法的内存,程序就不会出错。

【7】.运行下列C++代码,输出什么?

class A
{	
public:	A()		{		Print();		}virtual void Print()		{printf("A is constructed.\n");		}	
};class B: public A
{	
public:	B()		{		Print();		}	virtual void Print()		{		printf("B is constructed.\n");		}	
};int main(int argc, char* argv[])
{	A* pA = new B();	delete pA;		return 0;	
}
运行结果:

解析:调用B的构造函数时,先会调用B的基类即A的构造函数。然后在A的构造函数里调用Print。由于此时实例的类型B的部分还没有构造好,本质上它只是A的一个实例,他的虚函数表指针指向的是类型A的虚函数表。因此此时调用的PrintA::Print,而不是B::Print。接着调用类型B的构造函数,并调用Print。此时已经开始构造B,因此此时调用的PrintB::Print

同样是调用虚拟函数Print,我们发现在类型A的构造函数中,调用的是A::Print,在B的构造函数中,调用的是B::Print。因此虚函数在构造函数中,已经失去了虚函数的动态绑定特性。

【8】.运行下图中的C++代码,输出是什么

class A
{
private:int n1;int n2;public:A(): n2(0), n1(n2 + 2){}void Print(){std::cout << "n1: " << n1 << ", n2: " << n2 << std::endl;}
};int main(int argc,char* argv[])
{A a;a.Print();return 0;
}

运行结果:

解析:输出n1是一个随机的数字,n20。在C++中,成员变量的初始化顺序与变量在类型中的申明顺序相同,而与它们在构造函数的初始化列表中的顺序无关。因此在这道题中,会首先初始化n1,而初始n1的参数n2还没有初始化,是一个随机值,因此n1就是一个随机值。初始化n2时,根据参数0对其初始化,故n2=0

9】.编译运行下图中的C++代码,结果是什么?(A)编译错误;(B)编译成功,运行时程序崩溃;(C)编译运行正常,输出10。请选择正确答案并分析原因

class A
{	
private:	int value;public:	A(int n)		{		value = n;		}A(A other)		{		value = other.value;		}void Print()		{		std::cout << value << std::endl;		}	
};int main(int argc,char* argv[])
{	A a = 10;	A b = a;	b.Print();		return 0;	
}

解析:编译错误。在复制构造函数中传入的参数是A的一个实例。由于是传值,把形参拷贝到实参会调用复制构造函数。因此如果允许复制构造函数传值,那么会形成永无休止的递归并造成栈溢出。因此C++的标准不允许复制构造函数传值参数,而必须是传引用或者常量引用。在Visual StudioGCC中,都将编译出错。


【10】.运行下图中的C++代码,输出是什么

int SizeOf(char pString[])
{	return sizeof(pString);	
}int main(int argc, char* argv[])
{	char* pString1 = "google";	int size1 = sizeof(pString1);	int size2 = sizeof(*pString1);	char pString2[100] = "google";	int size3 = sizeof(pString2);	int size4 = SizeOf(pString2);	printf("%d, %d, %d, %d\n", size1, size2, size3, size4);return 0;	
}
运行结果:

解析:pString1是一个指针。在32位机器上,任意指针都占4个字节的空间。*pString1是字符串pString1的第一个字符。一个字符占一个字节。pString2是一个数组,sizeof(pString2)是求数组的大小。这个数组包含100个字符,因此大小是100个字节。而在函数SizeOf中,虽然传入的参数是一个字符数组,当数组作为函数的参数进行传递时,数组就自动退化为同类型的指针


【11】.运行下图中代码,输出的结果是什么?这段代码有什么问题

class A
{
public:A(){      std::cout << "A is created." << std::endl;      }~A(){      std::cout << "A is deleted." << std::endl;      }
};class B : public A
{
public:B(){       std::cout << "B is created." << std::endl;        }~B()		{       std::cout << "B is deleted." << std::endl;      }	
};int main(int argc,char* argv[])
{A* pA = new B();delete pA;return 0;
}

运行结果:

解析:new创建B时,会调用B的构造函数。在调用B的构造函数的时候,会先调用A的构造函数。因此先输出A is created. B is created.

接下来运行delete语句时,会调用析构函数。由于pA被声明成类型A的指针,同时基类A的析构函数没有标上virtual,因此只有A的析构函数被调用到,而不会调用B的析构函数。

由于pA实际上是指向一个B的实例的指针,但在析构的时候只调用了基类A的析构函数,却没有调用B的析构函数。这就是一个问题。如果在类型B中创建了一些资源,比如文件句柄、内存等,在这种情况下都得不到释放,从而导致资源泄漏。


【12】.运行如下的C++代码,输出是什么?

class A
{
public:virtual void Fun(int number = 10){std::cout << "A::Fun with number " << number << endl;}
};class B:public A
{
public:virtual void Fun(int number = 20){std::cout << "B::Fun with number " << number << endl;}
};int main()
{B b;A &a = b;a.Fun();return 0;
}

运行结果:


解析: 由于 a 是一个指向 B 实例的引用,因此在运行的时候会调用 B::Fun 。但缺省参数是在编译期决定的。在编译的时候,编译器只知道 a 是一个类型A 的引用,具体指向什么类型在编译期是不能确定的,因此会按照 A::Fun 的声明把缺省参数 number 设为 10

这一题的关键在于理解确定缺省参数的值是在编译的时候,但确定引用、指针的虚函数调用哪个类型的函数是在运行的时候。


【13】.运行如下的C代码,输出是什么?

char* GetString1()
{char p[] = "Hello World";return p;
}char* GetString2()
{char *p = "Hello World";return p;
}int main(int argc,char* argv[])
{printf("GetString1 returns: %s. \n", GetString1());printf("GetString2 returns: %s. \n", GetString2());return 0;
}

运行结果:


解析: 输出两行,第一行 GetString1 returns: 后面跟的是一串随机的内容,而第二行 GetString2 returns: Hello World. 两个函数的区别在于 GetString1 中是一个数组,而 GetString2 中是一个指针

当运行到GetString1时,p是一个数组,会开辟一块内存,并拷贝"Hello World"初始化该数组。接着返回数组的首地址并退出该函数。由于pGetString1内的一个局部变量,当运行到这个函数外面的时候,这个数组的内存会被释放掉。因此在_tmain函数里再去访问这个数组的内容时,结果是随机的。编译程序时,编译器也会给出相关的警告信息。

当运行到GetString2时,p是一个指针,它指向的是字符串常量区的一个常量字符串。该常量字符串是一个全局的,并不会因为退出函数GetString2而被释放掉。因此在_tmain中仍然根据GetString2返回的地址得到字符串"Hello World"


【14】.运行下图中C代码,输出的结果是什么

int main(int argc,char* argv[])
{char str1[] = "hello world";char str2[] = "hello world";char* str3 = "hello world";char* str4 = "hello world";if(str1 == str2)printf("str1 and str2 are same.\n");elseprintf("str1 and str2 are not same.\n");if(str3 == str4)printf("str3 and str4 are same.\n");elseprintf("str3 and str4 are not same.\n");return 0;
}
运行结果:

解析:str1str2是两个字符串数组。我们会为它们分配两个长度为12个字节的空间,并把"hello world"的内容分别拷贝到数组中去。这是两个初始地址不同的数组,因此比较str1str2的值,会不相同str3str4是两个指针,我们无需为它们分配内存以存储字符串的内容,而只需要把它们指向"hello world“在内存中的地址就可以了。由于"hello world”是常量字符串,它在内存中只有一个拷贝,因此str3str4指向的是同一个地址。因此比较str3str4的值,会是相同的


【15】.运行下图中的C++代码,打印出的结果是什么?

bool Fun1(char* str)
{printf("%s\n",str);return false;
}bool Fun2(char* str)
{printf("%s\n",str);return true;
}int _tmain(int argc, _TCHAR* argv[])
{bool res1,res2;res1 = (Fun1("a")&& Fun2("b")) || (Fun1("c") || Fun2("d"));res2 = (Fun1("a")&& Fun2("b")) &&(Fun1("c") || Fun2("d"));return res1|| res2;
}
运行结果:

解析:在C/C++中,与、或运算是从左到右的顺序执行的。在计算rest1时,先计算Fun1(“a”)&& Func2(“b”)。首先Func1(“a”)打印出内容为a的一行。由于Fun1(“a”)返回的是false,无论Func2(“b”)的返回值是true还是false,Fun1(“a”)&& Func2(“b”)的结果都是false。由于Func2(“b”)的结果无关重要,因此Func2(“b”)会略去而不做计算。接下来计算Fun1(“c”)|| Func2(“d”),分别打印出内容c和d的两行。

在计算rest2时,首先Func1(“a”)打印出内容为a的一行。由于Func1(“a”)返回false,和前面一样的道理,Func2(“b”)会略去不做计算。由于Fun1(“a”)&& Func2(“b”)的结果是false,不管Fun1(“c”)&& Func2(“d”)的结果是什么,整个表达式得到的结果都是false,因此Fun1(“c”) || Func2(“d”)都将被忽略。

【16】.运行下面的C++代码,打印的结果是什么?

class Base
{
public:void print() { doPrint();}private:virtual void doPrint() {cout << "Base::doPrint" << endl;}
};class Derived : public Base
{
private:virtual void doPrint() {cout << "Derived::doPrint" << endl;}
};int _tmain(int argc, _TCHAR* argv[])
{Base b;b.print();Derived d;d.print();return 0;
}

运行结果:

解析:在print中调用doPrint时,doPrint()的写法和this->doPrint()是等价的,因此将根据实际的类型调用对应的doPrint。所以结果是分别调用的是Base::doPrint和Derived::doPrint2。如果感兴趣,可以查看一下汇编代码,就能看出来调用doPrint是从虚函数表中得到函数地址的。



相关文章:

C/C++经典题解析

以下题目都是来自何海涛博客的 C/C/C#面试题精选 系列&#xff0c;感谢博主的整理。这些题不仅帮助我通过一些笔试&#xff0c;更重要的是帮助我很好的理解C/C。以前很讨厌这类题&#xff0c;现在想来做些题还是很有用的&#xff0c;至少可以帮助你巩固知识加深理解。 为支持博…...

Flash Builder4破解步骤

Flash Builder4破解步骤 1、安装Flash Builder4.0试用版 2、找到Flash Builder4的安装路径&#xff0c;查找如下相应的文件 3、修改如下文件下的文件 &#xff08;1&#xff09;找到Adobe Flash Builder 4 Installer\Adobe Flash Builder 下的features和plugins &#xff08;2…...

iOS 7.0 presentViewController 背景变黑的解决办法

问题&#xff1a;在做分享到第三方的时候&#xff0c;要弹出一个分享框&#xff0c;底部的背景会变暗。在iOS8.0以上可以直接设置&#xff0c;但在iOS8.0以下会出现背景变黑的情况。 原因分析&#xff1a;Why Does presentModalViewController:animated: Turn The Background B…...

从CM刷机过程和原理分析Android系统结构

http://blog.csdn.net/luoshengyang/article/details/29688041 前面101篇文章都是分析Android系统源码&#xff0c;似乎不够接地气。如果能让Android系统源码在真实设备上跑跑看效果&#xff0c;那该多好。这不就是传说中的刷ROM吗&#xff1f;刷ROM这个话题是老罗以前一直避免…...

財智V6.0(完美破解序列号特别版)

財智V6.0&#xff08;完美破解序列号特别版&#xff09; 財智V6.0&#xff08;完美破解序列号特别版&#xff09; 財智6是眼下唯一在中央台报道的、比較成熟的国产理財软件。能全面管理家庭的日常收入、消费、储蓄、贷款、保险、外汇、证券投资等。拥有强大的理財功能&#xf…...

开心网外挂开发手记

做一个Web游戏外挂需要的准备知识&#xff1a; 1) 需要有耐心 2) 熟悉HTML, JavaScript&#xff0c;特别是FORM 3) 熟悉HTTP协议&#xff0c;特别是Cookie, URL的编码方式和POST, GET内容格式 4) 熟悉游戏本身&#xff0c;能抽象出最优的赚钱/升级的数学模型 5) 掌握一门语言&a…...

待机时间揭秘:智能手机电池究竟有多久?

对于我们这些离不开手机的现代人来说&#xff0c;手机的待机时间无疑是我们最为关注的问题之一。那么&#xff0c;智能手机的电池寿命究竟有多久呢&#xff1f;我们需要从几个方面来探讨这个问题。 一、电池容量和续航时间的关系 电池容量是决定手机续航时间的重要因素。一般…...

目标检测算法——YOLOv5/YOLOv7改进之结合特征提取网络RFBNet(涨点明显)

>>>深度学习Tricks,第一时间送达<<< 🚀🚀🚀NEW!!!魔改YOLOv5/v7目标检测算法来啦 ~ 计算机视觉——致力于目标检测领域科研Tricks改进与推荐 | 主要包括Backbone、Neck、Head、普通注意力机制、自注意力机制Transformer、Swin Transformer v2,各…...

anaconda使用系列教程--4)环境迁移

概述 跨平台尽量避免&#xff0c;比如windows和linux就不要跨平台&#xff0c;就在linux之间跨还是可以的 直接copy整体环境文件&#xff0c;适合于无法联网或网速不佳的新环境 anaconda最好是同版本的 迁移方法 使用requirement文件 A机器&#xff1a; pip freeze > …...

suse linux enterprise 10下载,在suse linux enterprise 10 中安装 oracle 10g

suse linux enterprise 10 中安装 oracle 10g Oracle10G 最低系统要求&#xff1a; 内存&#xff1a;推荐1G,&#xff0c;在虚拟机中为768M Swap分区&#xff1a;1G,设为内存的2倍 /tmp磁盘空间&#xff1a;400MB以上 磁盘空间&#xff1a;软件3.5G 数据1.2G 所需软件&#xff…...

IIS启动就报错:发生意外错误0x8ffe2740

IIS启动就报错&#xff1a;发生意外错误0x8ffe2740 现象&#xff1a;  IIS的WEB服务器&#xff08;停止&#xff09;&#xff0c;启动不了。启动就报错&#xff1a;发生意外错误0x8ffe2740 。 分析&#xff1a;  如果系统中存在端口冲突就有可能发生本情况. IIS默认使用8…...

Fedora 12 13 14基础环境配置

这里假设Fedora 12/13/14业已安装完成&#xff0c;并能联入网络&#xff0c;那么接下来的基础办公和编程环境的配置过程可以走下面这个路线&#xff1a; 1、配置sudo file&#xff1b; 首先&#xff0c;打开终端&#xff0c;获得root环境&#xff1a; su - &#xff0c;并输入…...

flash模块开发

模块开发对于大项目而言还是蛮有用的。优点很多啊。使用flex进行模块开发还不错&#xff0c;毕竟人家都已经提供了module。我是没有深入研究它里面的实现。不过可以肯定的一点就是&#xff1a;使用Loader来载入各个模块&#xff0c;被载入模块依附主体模块。我说的依附&#xf…...

Rockchip | 使用SD卡启动或升级固件到本地存储

1 简介 Rockchip 现将 SD 卡划分为常规 SD 卡&#xff0c;SD 升级卡&#xff0c;SD 启动卡&#xff0c;SD 修复卡。可以通过瑞芯微创建升级磁盘工具将镜像文件下载到 SD 卡内&#xff0c;制作不同的卡类型。 2 分类 2.1 常规卡 普通 SD 卡与 PC 使用完全一样&#xff0c;可以…...

ASP.NET网站制作

ASP.NET网站制作 1、ASP.NET页面对象 1网页脚本 当客户端通过客户浏览器发送HTTP请求时,web服务器将HTML文档部分和脚本部分返回给客户端浏览器,在客户端浏览器中解释执行并及时更新页面,脚本处理工作全部在客户端浏览器执行完成。 优点: 减轻服务器负荷,同时增加页面…...

Cy3.5修饰麦芽糖,Cy3.5修饰Maltose,Cy3.5-Maltose

产品名称&#xff1a;Cy3.5修饰麦芽糖&#xff0c;Cy3.5修饰Maltose 英文名称&#xff1a;Cy3.5-Maltose 麦芽糖是由葡萄糖和麦芽糖&#xff08;maltose&#xff09;组成的二糖。它由两个葡萄糖分子通过α-1,4-糖苷键连接而成。 麦芽糖在食品工业中有广泛应用&#xff0c;特…...

as3.0 初学者完整教程

--记大湿成长历程&#xff08;又名【大湿是怎样练成的】&#xff09; 注意&#xff1a;本教程目前仅为辅助教程类型&#xff0c;注意是配合新手看书给出的源码及案例&#xff01;声明&#xff1a;本系列教程为大湿个人所有转载请注明作者lanzhipeng谢谢合作&#xff01;本教程所…...

灰鸽子使用教程(图文教程)

转载地址&#xff1a; http://blog.sina.com.cn/s/blog_499e8e5f01000a0n.html 中国远程控制的佼佼者&#xff0c;黑客手中的得意兵刃&#xff0c;也是令杀毒厂商倍加头疼的首要通缉对象…… 这种种造就了众人皆知的灰鸽子 今天&#xff0c;就让我们来研究一下这个厉害的软件 废…...

Windows的EXE文件(1)

当我们安装完Windows后&#xff0c;其中的文件到底是执行何种任务&#xff1f;某特定任务又由哪个文件来执行呢&#xff1f; 还有&#xff0c;从“开始”——“程序”——再点击 “我所要执行的任务”&#xff0c;这种套数还真有点繁琐。若是知道经常要执行的任务是哪个文件、位…...

诺基亚手机怎样初始化恢复出厂设置的方法

1、软格&#xff1a; 在手机上输入*#7370#之后要求你输入锁码&#xff0c;一般诺基亚手机的初始密码是&#xff1a;12345&#xff0c;如果你更改过手机密码&#xff0c;那就应该输入你更改后的密码&#xff08;注意&#xff0c;这里不是SIM卡密码而是手机密码&#xff09;。输入…...

Qt 显示透明flash和编写QtWebkit插件

Qt 有两种方法可以显示flash. 1. 通过QAxWidget 调用com形式显示flash, 需要本机安装IE flash插件 2. 直接通过qwebview显示flash, 需要下载webkit 的flash插件 NPSWF32.dll 1. 通过IE显示flash 是通常做法. QAxWidget提供很方便的嵌入, 只是IE对页面的支持可能不是很好 但是QA…...

Jbuilder8开发J2ee学习笔记(7) (转)

Jbuilder8开发J2ee学习笔记(7) (转)[more] Jbuilder8开发J2EE学习笔记(7)XML:namespace prefix o ns "urn:schemas-microsoft-com:Office:office" /> 作者&#xff1a;缪青 开发struts 1&#xff0e;开发Struts 现在我们已经有了一个可以用JMS通过SessionBean&a…...

SocksCapV2+Socks2HTTP

Sockscap32是NEC公司开发的一个使所有winsock应用都可以用socks代理的工具。它给winsock的系统调用库加上了个“帽子”&#xff0c;所有在sockscap环境下应用产生的winsock调用都会被sockcap截获&#xff0c;在你正确设置sockcap32的情况下&#xff0c;这样的调用请求会自动转化…...

电脑死机是什么原因及解决方法

​如果你在上班的时候&#xff0c;你的电脑突然死机了&#xff0c;这个时候我们去解决问题恢复我们的工作效率呢&#xff1f;下面让我们一起来看一下电脑死机怎么解决吧。 工具/原料&#xff1a; 系统版本&#xff1a;win10 品牌型号&#xff1a; 软件版本&#xff1a;腾讯管家…...

vista系统重装下载安装教程

平常我们使用的电脑操作系统基本都是windows系统&#xff0c;win7、10、11甚至是xp都是较为常用的操作系统&#xff0c;而其它的心态比如说vista系统也是有用户在使用的&#xff0c;那么该如何安装这个系统呢&#xff1f;下面给大家分享一下vista系统下载安装步骤。 ​ 方法/…...

日语学习网站分类汇总

日语资料 http://jp.hjenglish.com/沪江日语 http://www.joyjp.cn/bbs/乐乐日语论坛 http://www.5f5y.com/bbs/download.htm http://bbs.hzmjp.com/ftopic11236.html http://blog.hjenglish.com/xinran/articles/95791.html《逆向式新日语》 http://honyaku.yahoo.co.jp/transt…...

使用QAbstractTableModel来自定义表格模型,并在QTableView中显示数据

下面是一个简单的示例,演示如何使用QAbstractTableModel来自定义表格模型,并在QTableView中显示数据: MainWindow.h: #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QTableView> #include "TableModel.h"class MainW…...

卡巴斯基KAV/KIS 6.0/7.0 永久免费激活方法

转自卡巴技术论坛 http://www.kpchina.net/bbs/thread-17524-1-1.html KAV/KIS 6.0/7.0 永久免费激活方法 以前得到过卡巴6.0的永久免费激活的方法&#xff0c;今天试了试KIS7.0.0.123上面&#xff0c;发现竟然也可以用啊&#xff01;卡巴太好了&#xff01;我以为新版肯定把注…...

Android中的canvas介绍

3、绘制的东西 4、绘制的画笔Paint&#xff08;颜色和样式&#xff09; 1、如何获得一个Canvas对象。 Canvas对象的获取方式有三种&#xff1a; 第一种我们通过重写View.onDraw方法&#xff0c;View中的Canvas对象会被当做参数传递过来&#xff0c;我们操作这个Canvas&…...

cpu性能测试软件 国际象棋,国际象棋测试

◇ 国际象棋测试 Fritz Chess Benchmark是一款国际象棋测试软件&#xff0c;但它并不是独立存在的&#xff0c;而是《Fritz9》这款获得国际认可的国际象棋程序中的一个测试性能部分。它可以让我们的X86计算机也能完成IBM“深蓝”当初所做的事情&#xff0c;那就是计算国际象棋的…...

Mac上好用的视频播放器有哪些?

使用电脑的时候&#xff0c;总少不了要看看电影和视频。这时&#xff0c;一款好用的播放软件必不可少。今天 AppSo就为使用Mac的各位读者&#xff0c;对常见的7款本地视频播放器进行实测对比&#xff0c;希望能帮你找到最适合自己的一款。 结论先行 1. Movist&#xff1a;性能…...

怎么做英文外链代发

答案是&#xff1a;做付费链接&#xff08;GPB外链&#xff09;。 在数字化营销的世界里&#xff0c;外链建设在SEO中扮演着至关重要的角色。 特别是对于目标市场为非中文区域的企业&#xff0c;掌握英文外链代发的策略与技巧变得尤为重要。 以下&#xff0c;我们将详细探讨…...

在Ubuntu7.10下安装和使用Virtualbox

前言: 传说中轻量级的vmware-player在我的Ubuntu7.10上用起来速度很慢&#xff0c;不知道原因&#xff0c;于是尝试了virtualbox&#xff0c;效果很满意 1.安装 sudo apt-get install virtualbox 2.设置用户 sudo adduser 你的用户名 vboxusers 注销 3.sudo /etc/init.d/v…...

ThinkPad T41/43 -- 安装Windows XP及其驱动程序

http://njdg.net/bbs/?agzhnanThinkPad T43 -- 安装Windows XP及其驱动程序 ThinkPad T41 -- 安装Windows XP及其驱动程序适用机型: 所有ThinkPad T41; 所有ThinkPad T41p 文档内容&#xff1a; 一. 安装前的准备工作1. 准备好Windows XP Professional安装软件包。2. 备份硬盘…...

华硕k5555l拆解图解_华硕k50id的拆机过程详解【图文教程】

笔记本电脑 以前是一个比较稀罕的东西&#xff0c;不过现在笔记本电脑基本上人手一部。随着科技的发展&#xff0c;现在的笔记本电脑功能都十分的强大。今天小编要给大家介绍的这款笔记本电脑是华硕k50id。虽然不是市面上最好的&#xff0c;但它是性价比比较好的一款笔记本电脑…...

Visual SourceSafe 6.0 安装配置简要说明(转)

Visual SourceSafe 6.0一、版本管理的必要性 如果说70年代的软件危机导致了软件工程思想的诞生和理论体系的发展&#xff0c;那么80&#xff5e;90年代尤其是90年代软件产业的迅猛发展导致了另一种新思想的产生和实现&#xff0c;这就是软件的版本管理。 只要参加过软件开发的人…...

低格格式化过程及与高级格式化的区别

一、认识硬盘格式化 “格式化”这个词对于一个电脑用户而言绝对不应该陌生。当我们在进行一个全新的WINDOWS安装时&#xff0c;或是对一个硬盘上的所有数据进行“干净”的处理时&#xff0c;往往都会祭出“格式化”这招“杀手锏”&#xff0c;来彻底清除硬盘各个分区上的数据。…...

Windows服务器创建定时任务

我们很多时候会将服务器搭建在Windows服务器上&#xff0c;这时候会需要做一些服务器备份的工作&#xff0c;如备份数据库&#xff0c;备份服务器数据等&#xff0c;需要定时将数据备份到磁盘。具体操作步骤如下&#xff1a; 在服务器上创建脚本文件 右键电脑-管理&#xff0c…...

Joomla安装图文教程 (送 Joomla 中文语言包)

1、首先 下载 Joomla 源程序 首页&#xff1a; http://www.joomla.org/download.html 下载&#xff1a; download 2、为论坛 创建数据库。进入cPanel面板&#xff0c;选择mysqldatabase选项&#xff0c;新建数据库&#xff08;数据库名&#xff1a; joomla &#xff09;&…...

在 Java 应用程序中访问USB设备-Java基础-Java-编程开发

<script type"text/javascript"> google_ad_client "pub-8800625213955058"; /* 336x280, 创建于 07-11-21 */ google_ad_slot "0989131976"; google_ad_width 336; google_ad_height 280; // </script> <script type"t…...

CSS3 经典教程系列:CSS3 圆角(border-radius)详解

《CSS3 入门教程系列》前一篇文章详细介绍了 CSS3 RGBA 特性的用法&#xff0c;今天这篇文章我们在一起来看看 CSS3 中用于实现圆角效果的 border-radius 属性的具体用法。 以前制作圆角效果&#xff0c;我们都需要使用多张圆角图片做为背景分别应用到每个角上&#xff0c;我应…...

提升C++操作Json的开发效率

一、背景 在C项目开发中&#xff0c;不同的服务之间会定义通讯接口&#xff0c;接口格式定义中的通讯数据往往是json格式的。为了快速开发&#xff0c;我的需求如下&#xff1a; 1.定义好通讯接口后&#xff0c;就定义好了交互的json内容格式。我希望有工具可以一键将json内容…...

网卡参数设置建议与各个网卡参数含义详解

自从和无盘开始打交道&#xff0c;学到了n多知识&#xff0c;无论是软件层面还是硬件层面&#xff0c;无论是理论还是实践层面&#xff0c;之前很多人认为无盘很复杂&#xff0c;而我也受其“误导”认为无盘很复杂&#xff0c;但实际上用下来发现&#xff0c;其实无盘确实很简单…...

【三维目标检测】Part-A2(一)

Part-A2是商汤在CVPR 2020上发布的三维点云目标检测模型&#xff0c;来源于PointRCNN同一作者&#xff0c;论文名称《From Points to Parts 3D Object Detection from Point Cloud with Part-aware and Part-aggregation Network》。从名称可以看出&#xff0c;Part代表的是目标…...

cortex-a8原理实践及应用

Cortex-A8概述 ARM Cortex-A8处理器是第1款基于ARMv7架构的应用处理器&#xff0c;处理器的主频在600MHz到超过1GHz的范围内&#xff0c;既能满足低功耗移动设备的要求&#xff0c;又能满足需要高性能的消费类应用的要求。 ARMv7架构采用了Thumb-2技术&#xff0c;它是在ARM…...

FLASH ActionScript运行时错误列表

FLASH ActionScript运行时错误列表 行时可能发生以下错误。在 ActionScript 3.0 中&#xff0c;无论是在严谨模式下还是在警告模式下编译&#xff0c;都将进行运行时类型检查。 代码 消息 说明 1000 系统内存不足。 系统可用内存无法满足 Flash Player 编译代码的需要。请关闭系…...

获取IP地址

最简单的就是安装珊瑚虫&#xff01; 与好友进行QQ聊天是通过UDP协议进行的&#xff0c;因此你首先要设置好KV2004防火墙&#xff0c;让其自动监控UDP端口&#xff0c;一旦发现有数据从UDP端口进入的话&#xff0c;就将它自动记录下来。在设置KV2004防火墙时&#xff0c;先单击…...

2024春招SHL笔试测评题库题型解析及解题方法!一文说清楚shl题库考什么,最全解读!

SHL题库主要有3种。 第一种是以德勤、华泰、埃森哲等为代表的综合能力测评&#xff0c;这是一种互动类测评&#xff0c;考察综合素质&#xff0c;可自选语言图形变换题&#xff1b;分房间题&#xff1b;饼图题序列推理题&#xff1b;折线图题&#xff1b;日程安排题工作日历题…...

推荐:Notepad Next —— 开源文本编辑新选择

推荐&#xff1a;Notepad Next —— 开源文本编辑新选择 NotepadNextA cross-platform, reimplementation of Notepad项目地址:https://gitcode.com/gh_mirrors/no/NotepadNext 在技术的海洋里&#xff0c;每一次创新都如同波涛中的一抹亮色。今天&#xff0c;我们来探索一款…...

java开源的cms系统jsp cms系统

java开源的cms系统jsp cms系统 http://www.open-open.com/39.htm专业程序代写 c程序代写 转载于:https://www.cnblogs.com/java20130723/archive/2013/03/28/3211215.html...

刘志强被开除党籍 严重违纪违法受惩处

刘志强被开除党籍中共中央批准,中央纪委国家监委对司法部原党组成员、副部长刘志强严重违纪违法问题进行了立案审查调查。调查显示,刘志强丧失理想信念,背弃初心使命,对党不忠诚不老实,对抗组织审查。他还违反中央八项规定精神,接受可能影响公正执行公务的宴请;违背组织…...

美联储:预计未来几个季度将适度降息

当地时间10月21日,美股三大指数表现分化:道指单边走弱,收盘跌0.8%,纳指盘中震荡回升,收涨0.27%,标普500指数跌0.18%。美国明尼阿波利斯联储主席卡什卡利表示,劳动力方面的意外走弱将导致重新考虑利率,预计未来几个季度将适度降息。美国消费者新闻与商业频道(CNBC)表示…...

日本一死囚在牢中度过50多年后被判无罪,警察厅长亲自登门道歉

日本一位警察局长官当地时间周一亲自向袴田岩男道歉——因为一项专横的调查和错误定罪,他被关押在死牢长达50余年,直到上个月在重审中才被宣告无罪。静冈地方法院宣判,88岁的前拳击手袴田无罪,法庭称警方和检察官联手捏造和栽赃他的证据,并通过长达数小时的暴力闭门审讯迫…...

联合国报告:加沙饥荒风险日益严峻 195万人面临粮食危机

世界粮食计划署与联合国粮农组织发布报告指出,加沙地带的民众面临灾难性的饥饿风险。报告显示,由于大量流离失所等待救援的人群和有限的人道主义援助,整个加沙存在持续的饥荒风险。根据16个联合国机构和非政府组织提供的资料与数据,从今年11月到明年4月,加沙地带有195万人…...

湛东升任中国农业发展银行党委书记 新任命公布

湛东升任中国农业发展银行党委书记中国农业发展银行官微发布消息,2024年10月22日上午,中央组织部有关负责同志出席了中国农业发展银行的干部会议。会议上宣布了中央决定:湛东升同志被任命为中国农业发展银行党委书记,同时免去了钱文挥同志的中国农业发展银行党委书记职务。…...

领导接访中怒怼举报者:不可能有这么黑暗的事,你谍战剧看多了!

当恶行发指到一定程度后,连有关领导都难以相信,法治社会里,会有执法人员敢干出谍战剧里才会出现的剧情来。10月20日,被广大网友称为&ldquo;当代窦娥&rdquo;的罗灿宏女士,终于在长沙某宾馆,找机会将&ldquo;控诉材料&rdquo;递交到了中央督导组有关领导的手…...