无论如何我可以向删除器发送参数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)
(显然上面的语法是错误的,但只是为了强调我需要我的删除器来获取额外的参数.)
以下代码将无法编译.为什么?
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) 为什么我们没有看到代码低于"未定义调用重载函数"错误?只是因为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) 我在cvs文件中有一系列字符串,它们看起来都像下面两个:
7336598,"[4125420656L, 2428145712L, 1820029797L, 1501679119L, 1980837904L, 380501274L]"
7514340,"[507707719L, 901144614L, 854823005L]"
....
Run Code Online (Sandbox Code Playgroud)
我该如何提取其中的数字?如...在retreive 7336598,4125420656等....
尝试过textscan,regexp但是没有多大成功......
对不起初学者的问题......谢谢你看看!:)
编辑:每行的大小是可变的.