小编Don*_*uck的帖子

铸造到'void'真的有什么作用?

经常使用的语句(void)x;允许禁止有关未使用变量的警告x.但是如果我尝试编译以下内容,我会得到一些我不太了解的结果:

int main()
{
    int x;
    (short)x;
    (void)x;
    (int)x;
}
Run Code Online (Sandbox Code Playgroud)

用g ++编译它,我得到以下警告:

$ g++ test.cpp -Wall -Wextra -o test
test.cpp: In function ‘int main()’:
test.cpp:4:13: warning: statement has no effect [-Wunused-value]
     (short)x;
             ^
test.cpp:6:11: warning: statement has no effect [-Wunused-value]
     (int)x;
           ^
Run Code Online (Sandbox Code Playgroud)

因此,我得出结论,转换为void与任何其他类型的转换非常不同,是目标类型相同decltype(x)或不同的东西.我猜测可能的解释是:

  • 这只是一个惯例,(void)x;但其他演员不会抑制警告.所有陈述同样没有任何效果.
  • 这种差异在某种程度上与事实有关,而事实void x;并非如此short x;.

哪一项更正确?如果没有,那么如何解释编译器警告的差异?

c++ casting void compiler-warnings suppress-warnings

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

浏览器一次从给定域下载多少资源?

试图从萤火虫和谷歌搜索,没有得到任何令人信服的答案.

html optimization image

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

定义数组的关联数组

我想像这样定义一个关联数组

var theVar = [
  { "100", [0, 1, 2] },
  { "101", [3, 4, 5] }
]
Run Code Online (Sandbox Code Playgroud)

基本上我希望能够通过指定自定义索引来访问三个数字的数组.

但是,无论我尝试什么,我都无法使其发挥作用.

我知道我可以将它定义为:

theVar["100"] = [0, 1, 2];
theVar["101"] = [1, 2, 3];
Run Code Online (Sandbox Code Playgroud)

但我将其设置在其他地方,我宁愿能够在一个声明中设置它.

javascript web-applications

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

删除第一个和最后一个字符C++

如何从std :: string中删除第一个和最后一个字符,我已经在做以下代码了.

但是这段代码只删除了最后一个字符

m_VirtualHostName = m_VirtualHostName.erase(m_VirtualHostName.size() - 1)
Run Code Online (Sandbox Code Playgroud)

如何删除第一个字符?

c++ string stdstring erase-remove-idiom

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

致命错误C1034:windows.h:没有包含路径集

OS Windows Vista Ultimate

我在命令行输入时试图运行一个名为minimal.c的程序

C:\Users\nathan\Desktop>cl minimal.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86

Copyright (C) Microsoft Corporation.  All rights reserved.

minimal.c
minimal.c(5) : fatal error C1034: windows.h: no include path set

我设置了所有路径:

C:\Users\nathan\Desktop>path
PATH=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin;C:\Windows\system3
;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files (x86)\ATI Technologies\AT
.ACE\Core-Static;C:\Program Files\Intel\DMIX;c:\Program Files (x86)\Microsoft S
L Server\100\Tools\Binn\;c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Bi
n\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Java\jdk1.
.0_13\bin;C:\Program Files (x86)\Autodesk\Backburner\;C:\Program Files (x86)\Co
mon Files\Autodesk Shared\;C:\Program Files (x86)\Microsoft DirectX SDK (March
009)\Include;C:\Users\nathan\Desktop\glut-3.7.6-bin\glut-3.7.6-bin;C:\Program F …

c++ visual-studio

25
推荐指数
5
解决办法
4万
查看次数

c ++ uint,unsigned int,int

嗨,我有一个程序,处理很多这些向量的元素的向量和索引,我想知道:

  1. uint和之间有区别吗?unsigned int
  2. 哪个更好地使用上述类型之一或只是使用,int因为我读了一些人说编译器确实更有效地处理int值,但如果我使用int我将不得不总是检查负idxs这是痛苦.
  3. 你认为迭代器更好吗?它比普通索引更有效vectorx[idx]吗?

ps软件将处理大数据流程,良好的性能是必须要求的

c++ indexing int unsigned iterator

25
推荐指数
1
解决办法
7万
查看次数

重载新/删除

我在我的程序中制作了一个小内存泄漏查找程序,但我的方法是重载new和delete(以及new []和delete [])似乎没有做任何事情.

void* operator new (unsigned int size, const char* filename, int line)
{
    void* ptr = new void[size];
    memleakfinder.AddTrack(ptr,size,filename,line);
    return ptr;
}
Run Code Online (Sandbox Code Playgroud)

我重载的方式new显示在上面的代码片段中.我想这是操作员返回void*的东西,但我不知道该怎么办.

c++ operator-overloading new-operator delete-operator

24
推荐指数
4
解决办法
7万
查看次数

24
推荐指数
4
解决办法
11万
查看次数

如何在C中将double转换为int?

double a;
a = 3669.0;
int b;
b = a;
Run Code Online (Sandbox Code Playgroud)

我在b中得到3668,而不是3669.

我该如何解决这个问题?如果有这样的3559.8我也想要像3559而不是3560.

c

23
推荐指数
3
解决办法
14万
查看次数

在IE11和Edge中的Bootstrap模式上渲染工件

我在IE11和Edge的几个版本上反复体验渲染工件,以及具有不同图形卡和驱动程序的几种不同设备,以及Windows 10的不同更新状态.

屏幕截图上的蓝色箭头指向其中一些.在此屏幕截图中,工件结果形成关闭下拉列表.但它们也可能出现在图表周围.

有趣的一点:它们只出现在Bootstrap模态中.

我该如何避免它们?

工件是底层页面内容的一部分.似乎模态上的更改<div>(例如擦除的下拉列表)导致主页的部分变为在模态上呈现.

在此输入图像描述

代码段:

jQuery(document).ready(function(e) {
    jQuery('#mymodal').trigger('click');
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- Button trigger modal -->
<button type="button" id="mymodal" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
        <select class="form-control" id="birthdayYear" name="birthdayYear"
            required="">
            <option></option>
           
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option> …
Run Code Online (Sandbox Code Playgroud)

artifact bootstrap-modal internet-explorer-11 microsoft-edge angular

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