小编The*_*ask的帖子

C#中的动态参数定义

有可能写下这样的东西:

function foo(a,b,c) {
    return a + b + c; 
}

var args = [2,4,6]; 
var output = foo.apply(this, args);  // 12
Run Code Online (Sandbox Code Playgroud)

C#有相当于.applyjavascript的吗?

.net c# arguments

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

为什么constexpr必须是静态的?

尝试使用constexpr属性创建结构的成员而不是静态会导致编译器错误(请参阅下文).这是为什么?对于单个常量值,我将在内存中使用此值,直到程序终止而不仅仅是struct的范围?我应该回去使用宏吗?

struct foo
{
  constexpr int n = 10;
  // ...
};

error: non-static data member cannot be constexpr; did you intend to make it static?
Run Code Online (Sandbox Code Playgroud)

c++ clang constexpr c++11

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

具有固定/预分配寄存器的表达式的代码生成

我正在使用这个(见下文)算法(从这个答案的想法)到树的代码生成.我的目标是x86 arch,现在我需要处理使用寄存器eax/ebx作为参数的mul/div指令.

我的问题是:

如何修改它以加载某个指令的操作数以加载到固定寄存器?比如,对于mul指令加载左右子树eaxebx寄存器.我当前的实现是:传递当前节点开始评估为参数,如果它是MULDIV设置regR0R1根据树的一侧,如果它LEFTRIGHT分别.如果regin_use,则推送reg堆栈并将其标记为开始免费(尚未实现).当前的实现不起作用,因为它assert(r1 != r2)emit_load()函数中断言(意味着作为参数传递的两个寄存器都等于r1 = REG_R0r2 = REG_R0)

      void gen(AST *ast, RegSet in_use, AST *root) {
            if(ast->left != 0 && ast->right != 0) {
                Reg spill = NoRegister; /* no spill yet */
                AST *do1st, *do2nd;     /* what order to generate children …
Run Code Online (Sandbox Code Playgroud)

c compiler-construction algorithm code-generation compiler-theory

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

阅读windows字体

将所有Windows字体读入ComboBox的最佳方法是什么?基本上,我试过这样做:

等于Microsoft Word

我可以:

 string[] fonts = Directory.GetFiles(@"C:\windows\fonts");
Run Code Online (Sandbox Code Playgroud)

并将每个文件显示到ComboBox中,但这是正确的吗?有没有这样做的组件?

提前致谢.

.net c# windows filesystems fonts

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

如何在扩展/方法文件中使用Invoke方法?

好吧,我正在编写一个对字符串,标签,链接标签,类等有用的扩展/方法文件.

但是,我有一个问题.我有一个showMessage()更改标签文本的方法,工作正常.但我决定使用线程执行,然后我这样做:

namespace LabelExtensions
{
    public static class LabelExtensionsClass
    {        
        private delegate void UpdateState();

        public static void ShowMessage(this Label label, string text)
        {
            if (label.InvokeRequired)
            {
                label.Invoke((UpdateState)delegate
                {
                    label.Text = text;
                });
            }
            else
            {
                  label.Text = text;
            }
        }
}
}
Run Code Online (Sandbox Code Playgroud)

对不起,这是一个错字.我在论坛上输入了这段代码.错误继续.

根据文档,要使用Invoke方法需要导入:

命名空间: System.Windows.Forms

程序集: System.Windows.Forms(在System.Windows.Forms.dll中)

然后我做了:

using System.Windows.Forms;
Run Code Online (Sandbox Code Playgroud)

但是这会返回相同的错误:

The name 'Invoke' does not exist in the current context
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

提前致谢.

.net c# multithreading invoke invokerequired

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

我可以在lambda中使用可变参数模板吗?

我可以做这个吗?

想象的语法:

auto foo = [] () { };
template <class T, typename ... Args>
auto foo =
[&] (T && V, Args && ... args) {
    do_something(V);
    foo(std::forward<Args>(args)...);
};
Run Code Online (Sandbox Code Playgroud)

c++ lambda templates variadic-templates c++11

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

相当于C#中php的list()

在C#中有一些方法相等的php()方法吗?

PHP中的用法列表():

$array = array('foo','baa'); 
list($foo, $baa)  = $array; 

echo $foo; //foo
echo $baa; //baa
Run Code Online (Sandbox Code Playgroud)

相当于javascript:

var arr = ['foo','baa']; 
var foo;
var baa; 
[foo, baa] = arr; 
Run Code Online (Sandbox Code Playgroud)

提前致谢!

.net c# arrays list

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

mod_headers无法正常工作

我启用mod_headersmod_rewrite在我的http.config中删除#from行.

LoadModule headers_module modules/mod_headers.so

LoadModule rewrite_module modules/mod_rewrite.so
Run Code Online (Sandbox Code Playgroud)

我需要启用更多的东西或错误是.htaccess?

的.htaccess.

RewriteEngine On
RewriteRule ^(.*?)\.x$ /$1.php [L]
<IfModule mod_headers.c>   
   <filesMatch "\.(x)$">
        Header set foo "baa"
  </filesMatch>  
</IfModule> 
Run Code Online (Sandbox Code Playgroud)

提前致谢!

apache mod-headers

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

检测何时同时按下两个键

我不知道怎么做.

我只知道如何检测一个键:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.C)
    {
        MessageBox.Show("C key");
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# key

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

在构造函数C++标准中修改const吗?

在构造函数C++标准中修改const吗?我正在修改我的struct删除固定值(默认成员初始化程序)以便稍后在构造函数时设置它,但我忘记删除const关键字并稍后通知它.令我惊讶的是,我没有得到编译错误,它只是工作正常,但对于测试用例2,它给出了一个编译器.他们有什么不同?

测试案例1:

struct A
{
    const int x = 2;

    A()
        : x(3)
    {
    }
};
Run Code Online (Sandbox Code Playgroud)

测试案例2:

struct A
{
    const int x = 2;

    A()
    {
           x = 3; // compile error!  error: read-only variable is not assignable
    }
};
Run Code Online (Sandbox Code Playgroud)

c++ constructor initialization const

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