使用定义的函数作为...
void func (int a [3]) { ... }
Run Code Online (Sandbox Code Playgroud)
我希望能够像这样传递动态静态数组
func (new int [3] {1,2,3});
Run Code Online (Sandbox Code Playgroud)
代替...
int temp [3] = {1,2,3};
func(temp);
Run Code Online (Sandbox Code Playgroud)
这可以用 C++ 实现吗?
如果您有 C++11 编译器,func (new int [3] {1,2,3});则可以正常工作(但是,请记住您负责delete内存)。对于 gcc,只需传递-std=c++11标志即可。
但是,请查看一下,std::array这样您就不必使用new:
例子
void func (std::array<int, 3> a)
{
}
int main()
{
func({{1, 2, 3}});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6385 次 |
| 最近记录: |