#include <iostream>
#include <deque>
using namespace std;
main()
{
typedef void (deque<int>::*func_ptr)(int);
func_ptr fptr = &deque<int>::push_back;
}
Run Code Online (Sandbox Code Playgroud)
我试图获得指向此函数的指针,但我得到一个编译错误
error: cannot convert ‘void (std::deque<int>::*)(const value_type&) {aka void (std::deque<int>::*)(const int&)}’ to ‘func_ptr {aka void (std::deque<int>::*)(int)}’ in initialization
func_ptr fptr = &deque<int>::push_back;
Run Code Online (Sandbox Code Playgroud)
我想这样做,以便我可以根据不同的条件获得指向不同成员函数的指针.
我提到了这个链接.
我创建了一个HDFStore.HDFStore包含一个组df,该组是一个包含2列的表.第一列是第一列string和第二列DateTime(将按排序顺序).已使用以下方法创建商店:
from numpy import ndarray
import random
import datetime
from pandas import DataFrame, HDFStore
def create(n):
mylist = ['A' * 4, 'B' * 4, 'C' * 4, 'D' * 4]
data = []
for i in range(n):
data.append((random.choice(mylist),
datetime.datetime.now() - datetime.timedelta(minutes=i)))
data_np = ndarray(len(data), dtype=[
('fac', 'U6'), ('ts', 'datetime64[us]')])
data_np[:] = data
df = DataFrame(data_np)
return df
def create_patches(n, nn):
for i in range(n):
yield create(nn)
df = create_patches(100, 1000000)
store = HDFStore('check.hd5')
for …Run Code Online (Sandbox Code Playgroud) 目前,我已经编写了一个Makefile,它读取ldflagsusing pkg-config。
pkg-config --libs python3
Run Code Online (Sandbox Code Playgroud)
现在,我已经找到了python3-config --ldflags,python3-config --libs在我看来哪个更好。
对我来说仍然存在的问题是,我也在使用 boost_python 并且我在我的Makefile. IE -lboost_python-py35。这样做的问题是,如果其他人使用它Makefile,python3.4他们必须将其更改为-lboost_python-py34。那么,这是否可以以某种方式变得动态化,python3-config并pkg-config允许我们做类似的事情。
我正在阅读python官方文档。
在提到的链接中,第二行指出:
使用此装饰器要求该类的元类为ABCMeta或从其派生。
但是,我能够成功定义以下给定的类。
from abc import abstractmethod
class A(object):
def __init__(self):
self.a = 5
@abstractmethod
def f(self):
return self.a
a = A()
a.f()
Run Code Online (Sandbox Code Playgroud)
因此,上面的代码工作正常。而且,我能够创建一个子类
class B(A):
def __init__(self):
super(B, self).__init__()
b = B()
b.f()
Run Code Online (Sandbox Code Playgroud)
在不覆盖上面定义的抽象方法的情况下。
因此,基本上,这是否意味着如果我的基类metaclass不是ABCMeta(或从其派生的),即使我具有抽象方法,该类的行为也不会像抽象类一样?
这意味着文档需要更清晰吗?
或者,这种行为在某种程度上有用吗?我错过了重点。
我正在检查代码,我遇到了以下代码段:
int check(char *a)
{
(void)(a);//What is this line doing??
return 0;
}
int main(void)
{
char *p;
p=(char *)malloc(sizeof(char));
check(p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在(void)(a);做什么?