问题列表 - 第41261页

写入深度缓冲区而不在OpenGL中进行深度测试(非着色器)

在OpenGL中,是否有可能绘制一系列不检查深度的多边形(因此它们将始终绘制在其前面绘制的其他多边形的前面,关于它们的z位置)

但同时,他们仍然写入深度缓冲区?

我想这可以使用着色器,但是现在我无法访问它.

opengl

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

在c#中生成8位数的uinque id

我需要在c#中生成8位唯一id.在我的网站上,用户将注册,我需要在c#代码中为他生成一个唯一的id(我不想在DB中使用这个逻辑),插入id后我需要将它保存在数据库中.

编辑:我需要每次都以随机的方式生成这些数字.

c# asp.net

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

你最喜欢的C++习语是什么?

可能重复:
你最喜欢的C++ Coding Style成语是什么

亲爱的C++粉丝,

你能在这里列出你最喜欢的C++习语吗?最好列出那些有用但尚未众所周知的内容.

首先,我把我的一个:

为了避免繁琐的重复for (size_t i = 0; i < n; ++i) {...},我使用这样的宏:

#define LOOP(n) for (size_t _i = 0; _i < n; ++_i)
Run Code Online (Sandbox Code Playgroud)

_i是绑定使用的占位符.

所以我可以写:

vector<int> coll(100);
LOOP (100)
{
    coll[_i] = _i;
}

LOOP (100)
{
    auto a = _i;
    LOOP (100)
    {
        auto b = _i;
        cout << a << b;
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ idioms

4
推荐指数
2
解决办法
1070
查看次数

如何使用二级字符串数组对这个哈希数组进行排序?

我有一系列哈希,看起来像这样:

user_array = [<#Hashie::Mash id="1" name="Ben">, <#Hashie::Mash id="2" name="Scott">, <#Hashie::Mash id="3" name="David">]
Run Code Online (Sandbox Code Playgroud)

我还有一个包含从外部源提取的ID的数组:

freq_array = ["1","2","2","3","2","3"]
Run Code Online (Sandbox Code Playgroud)

我需要使用freq_array订购user_array,以便其ID最多的用户freq_array首先在user_array.所以基于以上freq_array,user_array将是

user_array = [<#Hashie::Mash id="2" name="Scott">, <#Hashie::Mash id="3" name="David">, <#Hashie::Mash id="1" name="Ben">]
Run Code Online (Sandbox Code Playgroud)

做这个的最好方式是什么?谢谢阅读.

编辑:我得到了user_array哈希的格式错误.纠正了.

ruby ruby-on-rails

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

二维数组中的二分搜索

我想知道,二分搜索 可以应用于二维数组吗?

  • 阵列上的条件是什么?二维排序??
  • 它的时间复杂度是多少?
  • 算法将如何改变搜索边界(minX,maxX,minY,maxY) ?

编辑:

1D 上的二分搜索维护 2 个指针minXmaxX.. 它选择中间索引(minX+maxX)/2并将其与搜索值进行比较,如果大于则更改maxX,否则更改minX... 直到minX>=maxX

普通二进制搜索的伪代码:

 min := 1;
  max := N; {array size: var A : array [1..N] of integer}
  repeat
    mid := min + (max - min) div 2;
    if x > A[mid] then
      min := mid + 1
    else 
      max := mid - 1;
  until (A[mid] = …
Run Code Online (Sandbox Code Playgroud)

algorithm binary-search multidimensional-array

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

如何在运行时将动态方法添加到Grails域对象而不创建插件?

在ref文档中,我发现只有例子

class ExamplePlugin {
  def doWithDynamicMethods = { applicationContext ->
        application.controllerClasses.each { controllerClass ->
             controllerClass.metaClass.myNewMethod = {-> println "hello world" }
        }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是我不想为这样的代码创建插件......

grails grails-plugin

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

为什么Validator在Validator和Validator Summary中显示

我的页面上有验证器和验证码.

当它发生时,页面无效,文本将出现在验证器本身和验证摘要中.

我错了什么?

 <asp:RegularExpressionValidator ValidationGroup="Register" CssClass="validator" ForeColor="black" 
                                    ControlToValidate="txtRegisterEmail" ID="valMail" runat="server" 
                                    ValidationExpression=".*@.*\.(com|net|org|edu|mil|at?|de?|ch?|uk?)$" 
                                    ErrorMessage="Bitte geben Sie eine gültige EMail-Adresse ein." 
                                     EnableClientScript="false" 
                                    Display="Dynamic"></asp:RegularExpressionValidator>


 <asp:LinkButton CausesValidation="true" ValidationGroup="Register" ID="linkRegister" CssClass="linkWhite" runat="server" 
                                    onclick="linkRegister_Click">Jetzt Registrieren</asp:LinkButton><br />
                                    <br />
                                <asp:ValidationSummary ValidationGroup="Register" ID="sumRegister" runat="server" 
                                HeaderText="Folgende Fehler sind aufgetreten:"  CssClass="validator" 
                                ShowSummary="true" DisplayMode="BulletList" />
Run Code Online (Sandbox Code Playgroud)

asp.net validation

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

降低以下代码的复杂性

我想要做的是搜索列表并删除一个值.

所以我写了下面的代码

for x in range(10):
   if x in list1:
      list1.remove(x)
Run Code Online (Sandbox Code Playgroud)

这个函数是否为〜(n ^ 2),因为它首先查找该值,然后删除并向后推送其余的值?

还有一种方法可以通过使用try/except来按顺序n转换它

try:
  for x in range(10):
    list1.remove(x)
except ValueError:
  # make it go back to next iteration 
Run Code Online (Sandbox Code Playgroud)

python

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

C++引用vs返回值

我理解引用的原则是避免复制大型结构,但是如果你自己编写的函数创建了一个大型结构呢?是否效率较低(或者你是否更有可能耗尽内存)在本地创建变量,然后返回它,而不是将目标对象作为参考传递,并从函数中填充它?

我似乎不能说得那么好,所以一个具体的例子:假设一个函数接受一个字符串,并返回字符串中每一行的向量.该功能是否有实质性优势:

void getLines(std::string in, std::vector<std::string>& out);
Run Code Online (Sandbox Code Playgroud)

过度:

std::vector<std::string> getLines(std::string in);
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助,怀亚特

c++ performance memory-management

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

实现可以在C++中迭代的优先级队列

我需要为项目实现优先级队列,但是priority_queue没有指示STL,因为我们需要迭代所有元素并随机删除它们.

我们正在考虑将STL set用于此,将其包装在一个类中以使其成为ADT.

有更聪明的解决方案吗?

我们如何能够set公开使用某些公共成员职能呢?我们对迭代器等感兴趣

由于缺少虚拟析构函数,显然导出STL是不明智的:/


新代码:

#ifndef PRIORITYQUEUE_H_
#define PRIORITYQUEUE_H_

#include <set>

template<typename T, template<typename X> class impl_type = std::set>
class PriorityQueue {
    typedef impl_type<T> set_type;
    typedef typename set_type::iterator iterator;
public:
    void push(const T& x) {
        insert(x);

    }

    void pop() {
        erase(begin());
    }

    const T& top() const {
        return *begin();
    }
};

#endif /* PRIORITYQUEUE_H_ */
Run Code Online (Sandbox Code Playgroud)

所以,我们目前有这个.编译器不会抱怨插入,但它确实抱怨erase(begin())return *begin():

there are no arguments to 'begin' that depend on a template parameter, …

c++ priority-queue

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