- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
std::string
实际上可以容纳 '\0'
字符这一事实一直都在出现。这当然与 C 风格的字符串不一致。
所以我想知道,这是设计使然,还是遗漏,或者仅仅是标准不禁止它而编译器允许这种情况发生的事实?
最佳答案
我想知道你的争吵是什么。 '\0'
只是另一个字符。没有有效的方法可以在通用“char”字符串中禁止它。不幸的是,同一字符在 C 语言中具有特殊含义,但必须处理遗留代码在与它进行互操作时施加的每个限制。
只要您坚持使用专门使用 std::string
的代码,这应该不是问题。
为了解决您的意见,我们需要查看采用 char*
的构造函数,它将是 basic_string(const charT* s, const Allocator& a = Allocator())
在 21.4.2 9/10
中,在 n3242 中。它说内部字符串的大小是通过 traits::length(s)
确定的,在 std::string
的情况下是 strlen
要求其参数以空值终止。所以是的,如果您尝试从 const char*
构造一个 std::string
,它需要以 null 终止。
关于c++ - 是: "std::string can hold '\0' character" by design?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7416539/
当使用 Balanced Payments ruby gem (https://github.com/balanced/balanced-ruby) 并在 Balanced 上使用 Balance
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 1年前关闭。 Improve th
我无法启动 Hbase Master,因为我收到此错误: [Thread-18] master.HMaster: hbase:meta,,1.1588230740 is NOT online;
我定义了三个数据结构,其中 S、LL、M 和 Object,分别代表Set、ListLike、Map、ByteString: nouns :: IO [Object] nouns = liftM LL
我目前的代码有一个问题,即无法保持对特定项目行的关注。我创建了 int focusReference 来跟踪当前聚焦的行,但它似乎每隔几秒就会重置为 0,即一旦用户选择了一行,几秒钟后,它“忘记”用户
我有这段 Python 代码: from pylab import * from numpy import * time=linspace(-pi,pi,10000) ycos=cos(time) y
在 Python 的 matplotlib 中是否有明确的等效命令用于 Matlab 的 hold on?我正在尝试将我所有的图表绘制在同一个轴上。一些图表是在 for 循环内生成的,这些图表是与 s
在 vb.net 工作多年后,我刚刚开始深入研究 php。 我想编写一个记录器类,在我的网络应用程序上作为单例运行,代码如下: class cLog{ private $data = NULL; st
不知道如何表达标题。 我有一些“太空入侵者”类型游戏的代码。我只是做了一些调整才完成了整个事情。为了拍摄,我使用空格键。问题是我无法按住空格键并且它会不断射击。我宁愿必须多次按下它(如果我按住它...
我需要将“保留”最初阻止。当队列中有座席连接到 Hold 时,再解除阻塞。 我尝试了两种方法:方式1:使用属性中的选择将其设置为最初阻止,然后我在“操作”中写入: if(queue.size() >
我正在使用 AnyLogic 进行模拟。 我想检查每个队列(队列1到10)是否包含代理。 如果包含,则解除阻塞链接到队列的保留,如果不包含,则保持阻塞。 我正在使用 LinkedList 来访问每个队
我不知道如何开始,我想在按住触摸时左右移动我的角色。 就像在这个游戏中: Example Game - Stairs from Ketchapp 我只有检测屏幕左侧或右侧空间的脚本。 public f
场景: public class MyApplication extends Application{...} 三个 Activity ,概述,列表和 map , 显示相同的数据,只是提供不同的 UI
由于某些原因,我正在寻找定义addEventListener 的源对象。从 XMLHttpRequest 开始,我发现了以下内容: > Object.prototype.hasOwnProperty(
可重入锁 ( https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html ) 具有一
使用interactjs ,有什么办法可以控制drag vhold的灵敏度吗?在 PC 上,使用鼠标触发保持事件非常容易。在 iPad/iPhone 上,屏幕灵敏度(主要是手指压力的变化)使得很难获得
我正在用 C++ 制作游戏机,但遇到了问题。当我按下 SPACE 时,我游戏中的汽车会跳起来。当我按住键盘时,我的车会跳很多次。我想:当我按住 SPACE 键盘时,我的车只跳一次。 如何做到这一点?
如果我尝试用对数轴绘制多个图,对数刻度将被禁用。如果我删除 hold on,则会启用对数刻度,但我只能绘制一个图。 figure(1); clf x = linspace(0,1,100); y =
我正在开发一个 JavaFX 项目,我需要类似于 TouchEvent 的东西,它表征了一个“按下并保持”事件。但它应该映射为 MouseEvent,因为我在 Linux 上遇到触摸事件问题。例如,在
我想做的是:当用户按下取消按钮,或通过链接或菜单选项离开页面时,我检查是否有未保存的更改。如果是这样,我会询问用户是否要保存。我无法使用 javascript 确认窗口执行此操作,因为有时我有两个以上
我是一名优秀的程序员,十分优秀!