V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  bilosikia  ›  全部回复第 1 页 / 共 1 页
回复总数  5
2020-07-02 10:31:50 +08:00
回复了 phpcyy 创建的主题 程序员 一个关于 Raft 协议的疑问
1. 第一个是能保存成功的,1. leader 选出新的 leader 一定包含最新的 log 2. 前任 leader 的 log 谁着新任 leader 一起提交
2. 半数以上节点可用就行,A,B 挂了,只有 C 节点能当选新 leader
2019-12-02 14:00:28 +08:00
回复了 bilosikia 创建的主题 酷工作 字节跳动海量 HC 内推,急需大量人才
@joinmouse 北京
2018-12-15 15:15:54 +08:00
回复了 smdbh 创建的主题 程序员 C 下两个关于长度的问题
改成这样
printf("size %lu\n", sizeof(*pfn));

start sec 0x7fcf6ac007e2
stop sec 0x7fcf6ac00820
func1 0x7fcf6ac007e2
func2 0x7fcf6ac00801, 31
size 1
addr 0x7fcf6ac007e2
addr 0x7fcf6ac007e3
addr 0x7fcf6ac007e4
func is func1
Segmentation fault (core dumped)

对指针的加法运算是有指针指向的类型决定的,pfn ( pfn_test pfn = &__start_mysection; 这已经类型不匹配了)是指向的一个函数类型,sizeof(函数类型)= 1,
所以++ 只加了一

另外 c++是禁止对函数指针做加减法运算的
为什么 sizeof (函数类型)为一呢?
sizeof cannot be used with function types, incomplete types, or bit-field glvalues.
2018-08-22 10:16:52 +08:00
回复了 HackerPainter 创建的主题 C 求助 C++大神看一个问题
#include <iostream>
using namespace std;
class B {
public:
virtual void foo() {}
};

class D: public B {
public:
D() : mA(888) {}
virtual void foo() {
cout<<"D::foo::mA "<<mA<<endl;
}
int mA;
};

int main() {
D d1;
D* pD = &d1;
cout<<pD<<endl;
typedef void (*PFun)(D *a);
PFun fun = (PFun)((long *)*((long *)*(long*)(pD)));
fun(pD);
cout<<"D::pD::mA: "<<pD->mA<<endl;
}

这样就是一样的了, 你不需要传 this 的吗
2018-08-13 17:57:37 +08:00
回复了 zhiqiang 创建的主题 C C++ SNINAE 如何判断指定函数是否存在?
首先是 SFINAE, 不是 SNINAE
其实你的需求是要实现重载<<操作符
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2850 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 12:21 · PVG 20:21 · LAX 04:21 · JFK 07:21
Developed with CodeLauncher
♥ Do have faith in what you're doing.