C++从字符数组返回类型为T的指针
C++ Return Pointer of Type T from Char Array
我们正在进行一个项目,该项目要求我们在C++中创建和管理一个堆。我们使用一个字符数组来存储内存(在项目中不使用"new")。我们有一个需要返回T类型指针的分配函数。我们有几个类型def和一个模板来帮助我们完成
template <typename T>
typedef T value_type;
typedef value_type* pointer;
所以我们需要返回一个"指针"。问题:
我们如何返回一个指向字符数组中某个索引的"指针">
假设分配的块的开头指向地址5,类型名T是int。我们如何制作一个指向5处数组索引的int指针(使用我们的"指针")?
我们已经尝试使用reinterpret_cast <pointer> (a[index])
将数组索引强制转换为指针。此外,我们还尝试了reinterpret_cast <pointer> (a + index)
来获取数组指针,将其按索引向上移动,并将其强制转换为我们的类型指针。每次,指针都指向类似"0xffffffffff"的东西,或者一堆f后面可能跟着一个0c或一些随机值,因此一旦我们稍后在程序中取消引用它(例如在构造函数中),就会导致分段错误。
谢谢!
编辑数组"a"是我们的字符数组
我想我们已经想通了。我们有:
reinterpret_cast <pointer> (a[index])
这将为我们提供数组索引的指针(基本上是的指针值,而不是到值的指针)。
我们把它改成
reinterpret_cast <pointer> (&a[index])
这将为我们提供一个指向数组索引的指针(基本上是指向值的指针,而不是的<strong]指针)。很抱歉,如果"of"answers"to"的这种微妙用法从那以后就不起作用了。我想这是之间的区别>
int a = 5
int* k = &a
与
int* k = a //even though this wouldnt compile
- 接收和返回函数指针的函数指针的类型?
- 具有"templated"返回类型和参数的函数指针
- 为什么要为指针返回类型返回一系列字符?
- 函数可以将指针返回其自己的类型
- 返回不同返回类型的函数的函数指针的函数
- 从弱指针返回类型返回共享指针
- 我的问题是关于类成员函数作为类指针的返回类型
- C :无指针的协变返回类型
- 是否可以将“自动”关键字用作函数指针声明中使用初始化的返回类型
- C 返回类型指针声明
- 将结构指针声明为函数的返回类型
- 使用指针返回类型的功能
- 在引用或指针返回类型函数上输入
- 工厂函数的最佳智能指针返回类型是什么
- 推导函数指针返回类型
- 可以谷歌模拟一个方法与智能指针返回类型
- c++函数指针返回类型
- 可变模板函数,用于确定函数指针返回类型
- 使用智能指针返回类型协方差
- c++中引用返回类型和指针返回类型有什么区别?