Tag: 标准

在C中传递非空终止的string给strncmp是否合法?

我有一个16字节的数组,其中包含可执行文件段的名称。 char segname[16]; 如果段名长度小于16个字节,则其余部分填充空字节。 否则,没有终止的空字节。 我想比较segname各种string,例如__text 。 用非空终止的string调用strncmp是否合法? 这篇文章假定它是合法的。 这个源代码也是合法的。 但是我的男人的页面说: strncmp()函数按strncmp()顺序比较以空字符结尾的strings1和s2 。 传递给strncmp的大小将是segname的大小。 我想知道我应该参考什么。

为什么我得到string不命名types错误?

game.cpp #include <iostream> #include <string> #include <sstream> #include "game.h" #include "board.h" #include "piece.h" using namespace std; game.h #ifndef GAME_H #define GAME_H #include <string> class Game { private: string white; string black; string title; public: Game(istream&, ostream&); void display(colour, short); }; #endif 错误是: game.h:8 error: 'string' does not name a type game.h:9 error: 'string' does not […]

什么是你最有用的数据库标准?

我有一些想法,有些是我一直积累下来的,但是我真的很想知道在build模数据库时,什么能让你顺利进行。 表名与主键名称和说明键匹配 模式是由function区 尽可能避免使用复合主键(使用唯一约束) 骆驼案例表名称和字段名称 不要使用tbl_前缀表,要么使用SP_(没有匈牙利符号) OLTP数据库应该至less在BCNF / 4NF中

为什么“我= ++ i + 1”未指定的行为?

考虑以下C ++标准ISO / IEC 14882:2003(E)引用(第5节,第4段): 除非另有说明,否则个体运算符的操作数和个别expression式的子expression式的评估顺序以及副作用发生的顺序是未指定的。 53)在前一个序列点和下一个序列点之间,一个标量对象应该通过评估一个expression式来最多修改一次标量对象的存储值。 此外,只有在确定要存储的值时才能访问先前值。 对于一个完整expression式的子expression式的每个可允许的sorting,应满足本段的要求; 否则行为是不确定的。 [例: i = v[i++]; // the behavior is unspecified i = 7, i++, i++; // i becomes 9 i = ++i + 1; // the behavior is unspecified i = i + 1; // the value of i is incremented – 例子] 我很惊讶, i = […]

何时使用每个在Ruby中启动subprocess的方法

1. “ TheTick” 在内核中定义 1. a) %x{} Percent X <The Backtick的替代语法 在parse.y中定义,参见讨论 2. system() 内核#系统 3. fork() 内核#fork,进程#fork 4. open() 打开一个pipe道 内核#开 4.A. IO.popen()行为与open()相同 打开一个pipe道 IO#POPEN 4.B. open("|-") 叉到一个pipe道 4.C. IO.popen("-") <与open("|-")行为相同 叉到一个pipe道 看讨论 5. Open3.popen3() require 'open3' stdlib Open3 6. PTY.spawn() require 'pty' stdlib PTY 7. Shell.transact() require 'shell' stdlib Shell 什么时候应该放弃一个更复杂的方法的可靠反弹? 编辑1.非常感谢Avdi Grimm […]

C ++ std :: tuple的销毁顺序

是否有一个规则说明了一个std ::元组的成员被销毁的顺序? 例如,如果Function1返回一个std::tuple<std::unique_ptr<ClassA>, std::unique_ptr<ClassB>> ,那么我可以确定(当Function2的范围剩下时) ClassB的实例被引用由第二个成员在第一个成员所指的ClassA实例之前被销毁? std::tuple< std::unique_ptr< ClassA >, std::unique_ptr< ClassB > > Function1() { std::tuple< std::unique_ptr< ClassA >, std::unique_ptr< ClassB > > garbage; get<0>(garbage).reset( /* … */ ); get<1>(garbage).reset( /* … */ ); return garbage; } void Function2() { auto to_be_destroyed = Function1(); // … do something else // to_be_destroyed leaves scope // […]

为脚本标记一个ID

我遇到了一个script元素的id属性将轻松解决问题的情况。 然而,在阅读了w3schools和quirksmode的script元素之后,似乎这样做可能会有一些无法预料的后果。 浏览器有没有人遇到过这些问题,比如Chrome,Safari,FF3和IE7?

所有的整数值都是完美的双打吗?

我的问题是,是否所有的整数值保证有一个完美的双重表示。 考虑下面的代码示例打印“相同”: // Example program #include <iostream> #include <string> int main() { int a = 3; int b = 4; double d_a(a); double d_b(b); double int_sum = a + b; double d_sum = d_a + d_b; if (double(int_sum) == d_sum) { std::cout << "Same" << std::endl; } } 这是保证是正确的任何架构,任何编译器, a和b任何值? 将我的任何整数转换为double ,总是被表示为i.0000000000000而不是,例如, i.000000000001 ? 我试了一些其他的数字,它一直是真实的,但无法find这是巧合还是devise的任何事情。 […]

为什么JavaScript是浏览器中唯一实现的客户端脚本语言?

为什么浏览器不支持Python脚本来替代Javascript呢? 还是更通用的脚本语言? Javascript是唯一一个在浏览器上实现的吗? 毕竟,script标签确实有支持来指定使用的脚本语言。 (我知道在IE中有VBScript的支持,但是对于所有的意图和目的来说似乎已经过时了。)

为什么ctime()返回的string包含换行符?

为什么ctime()返回的string的换行符( 0x0A )是最后一个字符? 例如,这个代码: #include <iostream> #include <cstdlib> int main(int argc, char* argv[]) { time_t now; time(&now); char* time_str = ctime(&now); std::cout << time_str << "why is this on a new line?" << std::endl; return 0; } …产生以下输出: $ ./time.exe Wed Oct 23 14:52:29 2013 why is this on a new line? $ 没什么大不了的; 我可以从string中ctime()最后一个字节,但为什么ctime()把它放在第一位呢?