V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  cnbatch  ›  全部回复第 29 页 / 共 71 页
回复总数  1414
1 ... 25  26  27  28  29  30  31  32  33  34 ... 71  
@privater 刚想到有个地方的人确实可以同时做到这些:体育学院教授
2023-09-19 16:12:52 +08:00
回复了 xiaotianhu 创建的主题 C++ C++反直觉的地方好多,好痛苦
O 是否 P 从未碰过 C 系列语言?如果是,那么这不是反直觉,而是与你习惯不同

先说 include 头文件,虽然办法是古早了点(来自于 C 语言),但换成其他语言也得 using 、import 呀,哪怕是语言内置的同样都要导入,比如 C# 的 List<T>(位于 System.Collections.Generic )、Java 的 List<E>(位于 java.util ),尽管大多数时候 IDE 已经帮忙写了导入语句,但不代表不需要导入

class 声明需要加分号,很简单,因为 C++的 class 就是基于 struct 的。

不想用头文件的话,可以试试 C++20 开始支持的 modules 特性(模块),虽然支持的编译器并不够广泛。

构造函数和析构函数……OP 果真没接触过 C# 和 Java 吗?构造函数同样存在于 C# 和 Java 当中,这没什么好奇怪的吧。顶多就是 C++的构造函数种类比较多。
至于析构函数,C# 甚至有两个呢(一个~开头,跟 C++ 一样;还有一个是 Dispose ),同时还存在于许多语言当中,不明白这有什么好奇怪的。

区分定义和声明,好处体现在需要隐藏细节的时候,例如需要发布闭源 SDK 的话,这个特点很有用,只需要把头文件和二进制包分发出去就行了,不用把完整源码交给对方。
当然啦,实际上完全可以全都写在头文件内的,Github 有许多 header-only 的库就是这么干的。

const 的话题,昨天刚好有人提到: /t/974941
这个可以进去谈一谈

区分引用和指针其实很方便呀,一来可以避免出现多级指针的次数,二来配合模板可以原样转发入参。
我个人是尽量使用引用
2023-09-19 03:58:24 +08:00
回复了 dropice7777777 创建的主题 健康 大伙儿这两天喉咙痛吗
过敏性鼻炎?试试“氯雷他定”,口服片剂。

买药的时候要注意,不要买糖浆版本,那是儿科用的
2023-09-19 03:48:33 +08:00
回复了 hokman 创建的主题 程序员 win10 的强制更新实在是太可恶了
哪有那么复杂,直接编辑组策略就行了:
https://zhuanlan.zhihu.com/p/63921459

除了永久关闭更新,还可以自己配置如何更新,比如设置成只提示不安装( 2-通知下载和自动安装),这样 Win10 就无法强制更新了

不过话又说回来,公司电脑一般都是有 Active Directory 的吧,Windows 更新这种事应该由公司 IT 部门统一部署呀
2023-09-18 20:02:49 +08:00
回复了 LuckyPocketWatch 创建的主题 C++ 如何判断一个 double 有几位?
那就 sizeof 一下看看占多少个字节
2023-09-18 20:00:02 +08:00
回复了 iqoo 创建的主题 C++ C++ 用尽可能多的 const 是好风格吗?
喜欢加 const 那就加,无可厚非

虽然我个人不喜欢动不动就 const
看程序用途而定

对于跨平台程序,我只测自己想测的平台,其中就有自己也用的平台。
通常我只测 Windows + BSD ,正式发布前再测 Linux 。至于 macos ,我连苹果电脑都没有,没法测试。

如果是 Client / Server 互联的程序,在功能稳定前我个人更偏向于每个版本都不相互兼容,如果恰好有兼容,那只是走运。
稳定后,可以考虑保证小版本之间兼容。

如果是生存存档的程序,那只需保持能够正确打开、保存存档文件就够了。
最佳方案是使用 IPv6 直连

如果仍然想用 IPv4 ,有个折衷的办法,套一层 udphop: /t/898299
虽然这个工具原本的用途是为了避开 QoS ,但其实对于 OP 这种情况也能用——首先在服务端打洞(已自带打洞选项),然后客户端连过去,只要隧道内能够一直保持有流量(哪怕 1KB/s 都可以)、两边的网络都不是同时换 IP 的话,那么这条连接就可以一直保持畅通
2023-09-16 23:11:24 +08:00
回复了 zzzkkk 创建的主题 C++ fsantinize 弱智
@haohaolee OP 贴出来的报错明显是编译期警告(连报错都不是),一看就知道不是 runtime 报错
2023-09-16 19:10:25 +08:00
回复了 zzzkkk 创建的主题 C++ fsantinize 弱智
OP 把系统版本、编译器版本一起发出来吧

我用 GCC 10.2.1 (Debian 11)、GCC 13.2.1 (Fedora 38)和 Clang 14.0.5 (FreeBSD 13.2)都没遇到 OP 主贴图 3 的情况
2023-09-16 18:00:17 +08:00
回复了 zzzkkk 创建的主题 C++ fsantinize 弱智
@cnbatch 补充一条,无论是以 C 语言还是 C++来编译,同样都没报错
其实没什么好不好的,全凭作者喜好而定
2023-09-16 17:53:43 +08:00
回复了 zzzkkk 创建的主题 C++ fsantinize 弱智
简单写了一小段

#include <stdio.h>

int main()
{
char str[30] = "https://www.v2ex.com/t/974343";
printf("sizeof str: %d\n", (int)sizeof(str));
printf("%s\n", str);
}


无论 GCC 还是 Clang ,编译和运行都没报错

编译的命令行:cc -fsanitize=address
GCC 版本(运行在 Debian 11 ):10.2.1
Clang 版本(运行在 FreeBSD 13.2 ):14.0.5
2023-09-16 16:23:56 +08:00
回复了 zzzkkk 创建的主题 C++ fsantinize 弱智
人眼数很容易数错的,对于比较长的字符串,最好还是写成
char s[] = "这是字符串"
中括号内不写任何数字

如果想知道 s 数组有多长,那就 sizeof(s)

以 14 楼的图为例,把 s[31]的数字去掉,改成 s[],接着下面一行加一句
printf("sizeof s: %d\n", (int)sizeof(s));
就可以准确知道实际大小
原来先前的做法是把程序放在用户账户目录?那肯定啦

别说 RemoteApp 了,就算是原地 RunAs (以其他用户身份运行),一样会出错

除了放在 Program Files ,其实还可以放在 C:\Users\Public ,这里也是各个用户都有访问权限的,适合无须安装的绿色软件
根据微软自己的描述,似乎是因为另外两个程序依赖于 explorer.exe ,所以就无法运行

文档提供了两个办法,其中一个是 Runonce.exe /AlternateShellStartup ,个人觉得这个会灵活一点

https://learn.microsoft.com/en-us/troubleshoot/windows-server/remote/application-not-start-in-remoteapp-session
https://learn.microsoft.com/zh-cn/troubleshoot/windows-server/remote/application-not-start-in-remoteapp-session
2023-09-14 15:23:10 +08:00
回复了 xiaohundun 创建的主题 Windows 大佬们,总感觉 Windows 的字体发虚,有锯齿,怎么解决
调系统字体大小的好处并不大,这其实是 Win9x~WinXP 时期的习惯,部份情况下可以说是负优化

最有效的办法其实是调高 DPI ,4K 200%的效果就好得多了

在 DPI 100%的情况下,系统字体的优先方案是“笔画对齐到像素点”,让笔画尽量清晰,这样别说 baseline 了,就算是字与字之间都可以高低起伏,如果不喜欢这种风格的话最简单的办法就是调高 DPI
再来个更极端的例子,宋体 12 磅,斜体

1080p + DPI 100%
https://i.imgur.com/MdIzvV2.png

4K + DPI 200%
https://i.imgur.com/ZJWJHRU.png

很明显了吧
2023-09-12 03:09:42 +08:00
回复了 kakyoin 创建的主题 程序员 用户地址空间如何从地址 A 的数据拷贝到地址 B?
memcpy 呢?
1 ... 25  26  27  28  29  30  31  32  33  34 ... 71  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1568 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 17:09 · PVG 01:09 · LAX 09:09 · JFK 12:09
Developed with CodeLauncher
♥ Do have faith in what you're doing.