问题列表 - 第36563页

const是否有助于优化器?C++

可能重复:
C++中的常量和编译器优化

让神圣的战争开始:我听到了很多关于const在C++中的用处的不同观点.当然它在成员函数声明等中有用.但它作为变量(或更确切地说,常量)的修饰符有用吗?如果剩下的代码保持不变,它确实对优化器有帮助吗?

c++ const

8
推荐指数
3
解决办法
559
查看次数

如果生成警告,如何使Perl死掉?

我希望我的脚本perl在生成警告时死亡,包括由使用过的包生成的警告.

例如,这应该死:

use strict;
use warnings;
use Statistics::Descriptive;

my @data = ( 8, 9, 10, "bbb" );
my $stat = Statistics::Descriptive::Full->new();
$stat->add_data(@data);
Run Code Online (Sandbox Code Playgroud)

use warnings FATAL => 'all';不会有帮助,因为它是词法范围的.测试:: NoWarnings也不起作用,因为它不会杀死脚本.

perl warnings die

12
推荐指数
2
解决办法
2674
查看次数

C#与Foreach和for(不是性能)之间的区别


前段时间我读到foreach使用对象的"副本",因此它可以用于信息检索而不是更新.我没有得到它,因为完全可以遍历类列表并更改其字段.谢谢!

c# foreach visual-studio-2008

5
推荐指数
1
解决办法
516
查看次数

Why am I getting a segmentation fault?

I'm trying to write a program that takes in a plaintext file as it's argument and parses through it, adding all the numbers together and then print out the sum. The following is my code:

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

static int sumNumbers(char filename[])
{
    int sum = 0;
    FILE *file = fopen(filename, "r");
    char *str;

    while (fgets(str, sizeof BUFSIZ, file))
    {
        while (*str != '\0')
        {
            if (isdigit(*str))
            {
                sum += atoi(str);
                str++;
                while (isdigit(*str))
                    str++;
                continue;
            } …
Run Code Online (Sandbox Code Playgroud)

c arrays pointers segmentation-fault

3
推荐指数
1
解决办法
495
查看次数

是否应删除空白XML元素?

在XML的世界中,最好在文件中留下空白元素:

<widgets>
    <widget>
        <id>5</id>
        <name>Bob</name>
        <price>5.33</price>
        <otherInfo>Bob is a ball.</otherInfo>
        <dateAdded>9-5-2010</dateAdded>
    </widget>
    <widget>
        <id>3</id>
        <name>Mary</name>
        <price>4.67</price>
        <otherInfo></otherInfo>
        <dateAdded>10-1-2010</dateAdded>
    </widget>
</widgets>
Run Code Online (Sandbox Code Playgroud)

或删除它们:

<widgets>
    <widget>
        <id>5</id>
        <name>Bob</name>
        <price>5.33</price>
        <otherInfo>Bob is a ball.</otherInfo>
        <dateAdded>9-5-2010</dateAdded>
    </widget>
    <widget>
        <id>3</id>
        <name>Mary</name>
        <price>4.67</price>
        <dateAdded>10-1-2010</dateAdded>
    </widget>
</widgets>
Run Code Online (Sandbox Code Playgroud)

对于解析,如果它们在那里会更容易,因为在尝试获取它之前不需要检查元素是否存在.另一方面,XML文件不会出现空白元素.

最佳实践是否规定了一种存储形式与另一种存储形式,或者它取决于存储的数据?

xml

5
推荐指数
1
解决办法
2014
查看次数

UNIX:如果通过管道传输到 less 会出现奇怪的输出

如果我使用管道执行 ls 命令到 less,我会得到奇怪的输出

ESC[00mESC[00mfile1.ccESC[00m
ESC[00file2.ccESC[00m
ESC[00file3.ccESC[00m
Run Code Online (Sandbox Code Playgroud)

(表示中间的 ESC 字符串)。

如果没有 ls,输出为:

file1.cc    file2.cc    file3.cc
Run Code Online (Sandbox Code Playgroud)

如何纠正这个问题?

unix command

5
推荐指数
1
解决办法
914
查看次数

修改了c中的常量

const int z = 420;

printf("\n%d | %d",z ,*(&(*(&z+1))-1) );
// O/P:420 | 420

printf("\n%u | %u",&z,(&(*(&z+1))-1) );             //address
// O/P:1310548  | 1310548

*((char *)&z+1) = 21;       //I change value for the 1st-Bit
                                    //corrupting constant

 printf("\n%d | %d",z ,*(&(*(&z+1))-1) );
//the complex(not really) expression evaluates to z
// O/P:420| 5540

printf("\n%u | %u",&z ,(&(*(&z+1))-1) );                
//the complex(not really) expression evaluates to &z
// O/P:1310548 | 1310548
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

似乎我已成功修改了C中的常量

通过修改我的意思是我已经改变了常量地址范围中的位

因为"复杂(不是真的)统一/身份表达"在腐败后改变了价值.

但是z保持不变.为什么?

在解引用时,同一地址如何具有不同的值.?

PS:你可以使用任何身份表达

eg.printf("%d",*(int*)((char*)&(*((char*)&z+1))-1));
Run Code Online (Sandbox Code Playgroud)

[编辑]

好吧让我重新说一下:

z = 420

&z …
Run Code Online (Sandbox Code Playgroud)

c pointers constants

-1
推荐指数
3
解决办法
191
查看次数

如何在SBT Scala项目中使用MySQL JDBC驱动程序?

当我在SBT会话期间第一次运行我的项目时,它在尝试访问MySQL数据库时抛出以下异常:

java.lang.NoClassDefFoundError:scala/Ordered

当我再次运行它(以及之后的任何时间,在同一个SBT会话期间),它会抛出另一个:

java.sql.SQLException:没有为jdbc找到合适的驱动程序:mysql:// localhost/...

当我使用NetBeans时,相同的代码工作正常.现在,当我使用SBT构建和Kate手动编辑和管理我的项目时,我得到了这些运行时错误.

MySQL JDBC驱动程序(从MySQL.com下载)JAR位于项目的lib目录中,我放在那里的所有其他库都可以正常工作.

这是代码:

import java.sql._
...
// read
val dbc : Connection = DriverManager.getConnection("jdbc:mysql://localhost/...")
val st : Statement = dbc.createStatement
val rs : ResultSet = st.executeQuery("SELECT ...")
if(rs.first) result = rs.getDouble("field")
dbc.close
...
// write
val dbc : Connection = DriverManager.getConnection("jdbc:mysql://localhost/...")
val st : Statement = dbc.createStatement
st.execute("UPDATE ...")
dbc.close
Run Code Online (Sandbox Code Playgroud)

我看过一个看起来非常相关的问题,但仍然没有答案.

mysql scala jdbc sbt

32
推荐指数
2
解决办法
2万
查看次数

如何用图像设置单选按钮的样式 - 笑的好笑,悲伤的笑脸好坏?

我想创建一个HTML表单供用户反馈.如果整体反馈良好,用户应点击笑笑,如果整体反馈不好,用户应选择悲伤的笑脸.

我认为这应该使用单选按钮完成,使用表情符号而不是单选按钮.也许我错了......

你知道我怎么能做到这一点吗?

谢谢!

html css forms

41
推荐指数
3
解决办法
13万
查看次数

Perl如何预先增加字母?

可能重复:
在Perl中自动增加字母

我试图了解Perl的预增量运算符.对于每个不同的变量,我发现Perl中的预增量运算符行为很奇怪.

示例:

#!/usr/bin/perl
$a = "bz";
print ++$a, "\n";
Run Code Online (Sandbox Code Playgroud)

结果:ca

#!/usr/bin/perl
$a = "9z";
print ++$a, "\n";
Run Code Online (Sandbox Code Playgroud)

结果:10结果
不应该是10a?

#!/usr/bin/perl
$a = "bxz"; 
print ++$a, "\n";
Run Code Online (Sandbox Code Playgroud)

结果:bya结果
不应该是cya吗?

perl

1
推荐指数
1
解决办法
735
查看次数

标签 统计

c ×2

perl ×2

pointers ×2

arrays ×1

c# ×1

c++ ×1

command ×1

const ×1

constants ×1

css ×1

die ×1

foreach ×1

forms ×1

html ×1

jdbc ×1

mysql ×1

sbt ×1

scala ×1

segmentation-fault ×1

unix ×1

visual-studio-2008 ×1

warnings ×1

xml ×1