• Re: 今天掉进一个不算坑的坑

    啥原理

    【 在 fanci 的大作中提到: 】

    : 实例指针可以,0指针不行

    今天 13:26
  • Re: [原创]xmake v2.3.8 发布, 新增 Intel C++/Fortran 编译器

    顶。

    【 在 waruqi 的大作中提到: 】

    : xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。

    : 在这个新版本中,我们对 Intel 系列的 C++ 和 Fortran 编译器做了全平台支持,并且改进了上个版本新加的 Wasm 工具链支持,同时对 Qt SDK for Wasm 也进行了支持。

    : 另外,我们还将 luajit 升级到最新的 v2.1 版本,在跨平台方面,xmake 也做了很大的完善,增加了 mips64 架构的运行支持。

    : ...................

    今天 13:03
  • Re: 同事的C++代码

    握手初始化列表标点在前。

    这种写法的好处是增加、删除、注释变量,

    直接复制、删除、注释目标行就行了。不用考虑是否最后一个。

    vim用户尤其爽。yyp  dd  I//

    【 在 allegro 的大作中提到: 】

    : 我喜欢这么写:

    : C::C()

    :     : a()

    : ...................

    今天 13:01
  • Re: 同事的C++代码

    这种写法的好处是增加、删除、注释变量,

    直接复制、删除、注释目标行就行了。不用考虑是否最后一个。

    vim用户尤其爽。yyp  dd  I//

    【 在 milksea 的大作中提到: 】

    : 跟写文章一样标点在行尾吧…

    今天 13:00
  • Re: 今天掉进一个不算坑的坑

    CRTP是模板类在冒号后;这个是冒号前,fluent cpp称之为mix-in。

    不知道是不是已经成为约定俗成的了,新的cpp idiom. 还是一家之言。

    那文章的名字用了个单词YANG, mix-in: The YANG of the CRTP.

    给我唬住了。查了下,原来是太极阴阳的阳…… CRTP是阴YAN :-D

    【 在 fanci 的大作中提到: 】

    : 可以,也可以用curiously recursive pattern实现mixin

    今天 12:56
  • Re: 今天掉进一个不算坑的坑

    换个实例指针可以吗?为什么? 不是把B的地址(32或64bit)解释为size_t了吗?还是用户空间的地址,肯定是个很大的数字哦。

    直觉是与sizeof(A),sizeof(B)有关系。

    计算的话是用仨指针转整型作差吧?

    【 在 fanci 的大作中提到: 】

    : 不是。

    : 我来公布答案:把 nullptr 变成非零就可以实现预期的目的,但是 nullptr(或者0)就总是得零。

    : 解释也很简单,见   https://devblogs.microsoft.com/oldnewthing/20160224-00/?p=93081

    今天 12:50
  • Re: 今天掉进一个不算坑的坑

    没看懂你的思路。

    指针不总是4字节8字节吗? sizeof(int)

    nullptr 是个结构体,隐式转换T* 的operator,用整型0转。

    C*转B*,还是个int 0。接着reinterpret_cast,就是将连续的

    32bit/64转为size_t,还是0?

    【 在 fanci 的大作中提到: 】

    : 得亏我及时一通搜索搞定。是这样的:

    : 有三个类 A, B, C,其中 A和B都非空,而C同时继承A和B,即 struct C : A, B {...};

    : 那么从 C的指针 static_cast 到 B的指针是会改变指针的值的。我想计算这个偏移量(有几字节),于是我搞了这么个:

    : ...................

    今天 04:56
  • Re: 同事的C++代码

    绩效面谈。

    【 在 fanci 的大作中提到: 】

    : C是一个类

    : C x = C::C(1,”xyz”);

    : 执意要写C::C,怎么破?

    : ...................

    昨天 05:04
  • Re: win 10 自带五笔,切换中英符号是什么快捷键?

    1 Win+空格,输入法切换,如五笔、拼音、英文键盘、你自装的搜狗间切换

    2 五笔里,左右Shift ,单击切换中/英

    通过语言首选项,高级设置,热键,1可以改为Ctrl+Shift;2可以改为Ctrl+空格

    但是原先的仍然有效。想禁止Shift切换中英,没有这个选项!只有拼音有。

    【 在 kkely 的大作中提到: 】

    : 有时,不小心,输入中文时,就变成了英文符号了,不知道怎么切换。

    : 求助。

    : 还有中英文字符是用什么快捷键切换的?

    前天 21:45
  • Re: 死活找不到gtk/gtk.h

    相信不是你的愚蠢给了你这样的勇气有今日的所言所行,

    恰恰你拥有的智慧让你坚定不移地决定做一个什么样的人。

    孩子,带着你的智慧和搜索能力坚定的走下去。任何时候

    不要动摇,因为幡然悔悟之日,就是良心自责之时,再无宁日。

    【 在 anything1999 的大作中提到: 】

    : 3千多篇文章,灌得好水,我这个帖子就占了5篇文章,这5篇文章没有任何有用的东西。

    : 看到别人发文章就低级,在单位八成是个次头,一说啥都会,你要真交代个任务给他,各种困难就来了。

    : 这种人增加管理成本啊。

    : ...................

    10月17日
  • Re: 死活找不到gtk/gtk.h

    我多想对你显示出优越感,但不能。我丝毫不担心羞辱你,

    而是觉得会冒犯版上的专家,——在这么低级的问题上显

    示出优越感,拉低了本版优越感门槛。

    【 在 anything1999 的大作中提到: 】

    : 我信你会vs.

    10月17日
  • Re: 死活找不到gtk/gtk.h

    我不以为。我会。

    【 在 anything1999 的大作中提到: 】

    : 你以为上vs好配吗?windows上比ubuntu难配多了。

    : Eclipse虽说历史长,但我以为现在并不是一个好的c++ IDE,有好的,就用好的,

    : 没有必要浪费时间。图啥呢?

    : ...................

    10月17日
  • Re: 死活找不到gtk/gtk.h

    你也是吐槽的一份子,没有解决这问题。

    不如直接上Vs;或者离开cpp,换其他语言。

    【 在 anything1999 的大作中提到: 】

    : 头文件都能找到,我也设置到项目里面了,还是不行。

    : 用pkg-config运行就可以看到所有需要的头文件了。

    : eclipse不同版本之间设置还不一样,网上一堆吐槽的。

    : ...................

    10月17日
  • Re: 死活找不到gtk/gtk.h

    我遇到你这种问题就是这么解决的,

    find . - t - name gtk.h

    测试绝对路径

    在绝对路径下增加自己随便定义的test.h, 测试

    在cmake里 echo 绝对路径地址的目录

    几个回合下来,就能解决了。这种问题都很tricky,多动手。

    【 在 anything1999 的大作中提到: 】

    : 你这个解决不了问题

    10月17日
  • Re: 怎么感觉cpp语法改进倾向于模板了

    看过一篇Herbs的访谈,11 14是小版本,20是大版本。

    标准委员会也引入了敏捷开发思路,三年一趟版本火车,谁的

    提议先写好,谁先上车。点名说了,不等cpp他爸Bjarne了。

    该发就发。

    20的特性,很多委员已经为之工作了一二十年了……

    所以今天模版相关多,可能是十年二十年前就定了。

    采访还说,要是没有版本火车,可能就是98到03,再到11的9年

    一个节奏了。不利于语言推广。

    【 在 scramjet 的大作中提到: 】

    : c++20不说看c++11/c++14,很多特性都是在模板方向的

    10月16日
  • Re: shared_ptr 这样使用要加锁吗?

    根据Meyer那篇对单例模式 double check 模式的讨论,

    是要的。

    核心观点就是赋值三步论

    分配空白内存

    调用构造函数

    复制给指针左值

    B线程执行到第二步时,A线程读到左值,就是空。

    你说说不用加锁的着眼点,方便讨论。有可能有不知道的知识点,

    cpp就是这。

    【 在 speedboy2998 的大作中提到: 】

    : 如下代码,A线程循环调用 read函数, B 线程循环调用createNew函数,会不会有问题?

    : [code=c]

    : class Test

    : ...................

    10月16日
  • Re: 死活找不到gtk/gtk.h

    你包含绝对路径,我猜也没人枪毙你。

    【 在 anything1999 的大作中提到: 】

    : ubuntu 20.4, eclipse c++, makefile项目,c/c++ include Paths and Symbols里面添加了/usr/include/gtk-3.0, 死活还是报unresolved inclusion gtk/gtk.h错误。

    : 崩溃

    10月16日
  • Re: c++ 的依赖管理真是一坨屎一样

    锻炼身体,等c++29. 说不定package就出来了…… 这不都有Module了吗

    【 在 youxia 的大作中提到: 】

    : 无力吐槽,两个第三方模块,一个用std标准库,一个用到了 boost 某功能,然后二者冲突。

    10月16日
  • Re: struct可以继承vector么

    可以的。未实例hua的,叫 class template 。

    实例化后,就是class。就和正常的类一样。

    继承可以拥有vector的全部接口,再加上自己的业务接口。

    我看到的例子,就是三维建模平台里,管理一组图形对象,的ID。

    定义struct ElementSequence :  vector<ElementID>

    我自己实现,肯定是聚合,把vector<Element>

    作为成员变量。那就得自己实现迭代器模式了,

    供客户代码遍历每个ElementID。我猜这是继承的原因。

    图形平台的代码里玄虚多的很。

    【 在 xingco123 的大作中提到: 】

    : 比如struct abc:vector<vector<int>>

    : {

    : }

    : ...................

    10月16日
  • Re: 全局对象初始化问题

    服。今天掌握了一个CRTP的变形,mix-in class模式。就是

    把 X : public A<X>继承颠倒过来, A<X> : X

    真心感慨,永远不要相信一个说自己精通cpp的人。

    搜 never trust a guy who says he master cpp,竟然

    没搜到,记得第一次看的英文。谁能给个出处。

    【 在 libgcc 的大作中提到: 】

    : const

    : constexpr

    : consteval

    : ...................

    10月16日