惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
The Cloudflare Blog
博客园 - 聂微东
博客园 - 司徒正美
量子位
博客园 - 三生石上(FineUI控件)
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
Y
Y Combinator Blog
S
SegmentFault 最新的问题
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
有赞技术团队
有赞技术团队
A
About on SuperTechFans

博客园 - gearslogy

PCG建筑开发 Houdini HDANC -> HDA Houdini NC HDA -> HDA PBRT 蒙特卡洛采样 BRDF是BSSRDF的一个特殊形式 来自伟大的AI UE5.7编辑器扩展 PBRT中的RayDifferentials Unreal Fur 假毛发 草地 Grass PBRT v2中,隐士表面、三角形的dpdu dpdv dndu dndv 思考 Houdini Vulkan HeightBlend 高度混合 Indexmap Vulkan矩形绘制顺序小坑 C++ Runtime Reflection QML NextQT 随手 HDK门格海绵 clang reflection Master LLVM GEP 类型擦除TypeErase Qt问题记录 现代CPP设计模式 CPP2nd CRTP Facade 模式 billboard暴力实现 Fibonacci各种玩法
ubuntu升级编译器
gearslogy · 2021-08-04 · via 博客园 - gearslogy

几个小步骤丝滑升级 C++ 23的编译器

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
apt list --upgradable
sudo apt-get update

apt install build-essential
apt install gcc-11
apt install g++-11
cd /usr/bin

ln -sf gcc-11 gcc
ln -sf g++-11 g++
ln -sf g++-11 c++
ln -sf gcc-11 cc
ln -sf gcov-11 gcov
ln -sf gcc-11 x86_64-linux-gnu-gcc
ln -sf g++-11 x86_64-linux-gnu-g++

软连接必须做要不会出现错误:gcc: error trying to exec 'cc1plus': execvp: No such file or directory

测试编译下:

#include <iostream>
#include <string>
#include <utility>
template<typename T>
class Base{
public:
    Base() = default;
    explicit Base(T v) :var(std::move(v)){}
    Base &operator = (const T &v){
        var = v;
        return *this;
    }
    decltype(auto) get(){
        return var;
    }
private:
    T var{};
};


template<typename ... Ts>
class Multi: private Base<Ts>...{
public:
    using Base<Ts>::operator=...;
    using Base<Ts>::Base...;

};

int main() {
    Multi<int, std::string> var;
    var = 10;
    var = "houdini";
    return 0;
}

 Clion yyds!