多线程静态函数调用这样是否正确

class A {
public:
     static T get() { return b->get();}
private:
    static B* b;
}

A::get和B类不涉及静态变量和堆区变量,多线程同时调用A::get()是否安全合理?

没问题的,get是个函数而不是变量,不存在线程安全问题
每个调用都是单独的内存在执行
当然前提是get里不要使用静态变量,否则还是有可能冲突
其实如果你只读取不写入的话,哪怕是静态变量,多少线程一起读都没问题,涉及到静态变量的改值才会有问题

这个相当于时可重入的问题 你可以搜一下,可重入和线程安全