cppTest-3.0:指针相关-3(new&delete)

/**
 *cppTest-3.0:指针相关-3(new&delete)
 *
 *author 炜sama
 */
#include<iostream.h>
void main()
{
    int *pi;
	pi=new int;
	*pi=888;
	cout<<*pi<<endl;
	delete pi;

	int *pi2=new int(123);
	cout<<*pi2<<endl;
	delete pi2;

	int *pis=new int[2];
	pis[0]=0;
	pis[1]=1;
	cout<<pis[0]<<endl;
	cout<<pis[1]<<endl;
	*pis=100;
	*(pis+1)=200;
	cout<<pis[0]<<endl;
	cout<<pis[1]<<endl;
	cout<<*(pis+1)<<endl;
	//cout<<pis<<endl;
	delete []pis;//[]是必须的!它告诉编译器pis指向的是数组而不是单个对象。
	//delete pis;//这种释放方式是错的!即使运行时没错,但是有可能无法释放pis指向的空间!
	
	//delete pis[];//这种释放方式是错的!

	//不能在new的同时给数组初始化!
	//int *pis2=new{1,2};
	//int *pis3=new int{1,2};
	//int *pis4=new int[]{1,2};
	//int *pis4=new int[2]{1,2};
	int is[2]={1,2};

	/*int *pis2=new int[];//虽然不指定数组大小没有编译报错,但是运行时报错,故不建议这么做!
	pis2[0]=0;
	pis2[1]=1;
	cout<<pis2[0]<<endl;
	cout<<pis2[1]<<endl;
	delete []pis2;*/

	//new多维数组时,左值一定要指定每一维大小,并且右值至多最高维可以不指定大小。不然编译报错!

	//int (*piss0)[]=new int[][];//报错!
	//int (*piss1)[]=new int[][2];//报错!
	//int (*piss2)[]=new int[2][];//报错!
	//int (*piss3)[]=new int[2][2];//报错!
	//int (*piss4)[2]=new int[][];//报错!
	int (*piss5)[2]=new int[][2];
	//int (*piss6)[2]=new int[2][];//报错!
	int (*piss7)[2]=new int[2][2];

	int (*pisss)[2][2]=new int[][2][2];
	//delete [][]pisss;//错误!!!
	delete []pisss;

	int i=2,j=2,k=2;
	int (*pisss2)[2][2]=new int[i][2][2];//只有第一维可以是变量表达式!!
	//int (*pisss3)[2][2]=new int[i][j][2];//错误!
	//int (*pisss4)[2][2]=new int[i][j][k];//错误!

	//const int *pci=new const int(128);
}

这个错误的原因是在运行"./Log4cppTest"时,系统无法找到共享库"liblog4cpp.so.5",导致无法打开共享对象文件。 解决这个问题的方法是确保"liblog4cpp.so.5"库文件存在于系统的共享库路径中,并且路径已正确配置。您可以通过以下步骤来解决这个问题: 1. 首先,确认您已经安装了"liblog4cpp.so.5"库文件。您可以在终端中使用以下命令来查找该文件: ``` $ find / -name liblog4cpp.so.5 ``` 如果该文件存在,则会返回文件的路径。如果不存在,您需要下载并安装该库文件。 2. 一旦确认库文件存在,您需要将其路径添加到系统的共享库路径中。可以通过以下命令将库文件路径添加到/etc/ld.so.conf文件中: ``` $ sudo echo "/path/to/liblog4cpp.so.5" >> /etc/ld.so.conf ``` 请将"/path/to/liblog4cpp.so.5"替换为实际的库文件路径。 3. 更新共享库缓存,使系统能够找到新添加的库文件路径: ``` $ sudo ldconfig ``` 现在,您应该可以成功运行"./Log4cppTest",而不再出现"error while loading shared libraries: liblog4cpp.so.5: cannot open shared object file: No such file or directory"的错误信息了。请按照上述步骤进行操作,确保路径和命令的准确性。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [VS code出现错误:g++.exe: error: Hello: No such file or directory g++.exe: error: Word.cpp: No such ...](https://blog.csdn.net/qq_45708377/article/details/112732294)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [cpptest:C++学习笔记 包括 侯捷讲解的系列CPP课程以及UNP、APUE等](https://download.csdn.net/download/weixin_42122306/19205361)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值