小编ale*_*reC的帖子

自定义删除shared_ptr的其他参数

无论如何我可以向删除器发送参数std::shared_ptr吗?

感觉像是:

std::shared_ptr<A> myA( a, myDeleter(a, 5) );   
Run Code Online (Sandbox Code Playgroud)

myDeleter这个签名在哪里:

void myDeleter(A* a, int i)
Run Code Online (Sandbox Code Playgroud)

(显然上面的语法是错误的,但只是为了强调我需要我的删除器来获取额外的参数.)

c++ smart-pointers

14
推荐指数
1
解决办法
4042
查看次数

不可能:此指针作为默认参数.为什么?

以下代码将无法编译.为什么?

class A
{
   int j;
   void f( int i = this->j );
}
Run Code Online (Sandbox Code Playgroud)

编辑,为清楚起见.这就是我尝试做的事情,使用较少的代码行......

class A
{
   void f( int i ){};
   void f( );
   int j;
};

void A::f()
{
    f( j );
}
Run Code Online (Sandbox Code Playgroud)

c++ arguments this default-value this-pointer

6
推荐指数
1
解决办法
1599
查看次数

4
推荐指数
1
解决办法
1326
查看次数

函数重载和类型转换解析

为什么我们没有看到代码低于"未定义调用重载函数"错误?只是因为int是内置类型?我可以在标准中找到转换为内置类型的保证,例如代码如下?...谢谢!

#include <iostream>
using namespace std;

class B {
public:
operator int(){ return 0; }
};

class A {
public:
A( int i ) { };
};

void f ( int i ) { cout << "overload f(int) was used!";};
void f ( A a )   { cout << "overload f(A) was used!" ;};


int main () {
  B b;
  f( b );
}
Run Code Online (Sandbox Code Playgroud)

c++ overloading operator-overloading type-conversion

3
推荐指数
1
解决办法
594
查看次数

matlab - 从(奇数)字符串中提取数字

我在cvs文件中有一系列字符串,它们看起来都像下面两个:

7336598,"[4125420656L, 2428145712L, 1820029797L, 1501679119L, 1980837904L, 380501274L]"
7514340,"[507707719L, 901144614L, 854823005L]"
....
Run Code Online (Sandbox Code Playgroud)

我该如何提取其中的数字?如...在retreive 7336598,4125420656等....

尝试过textscan,regexp但是没有多大成功......

对不起初学者的问题......谢谢你看看!:)

编辑:每行的大小是可变的.

regex matlab

3
推荐指数
1
解决办法
5388
查看次数