小编Val*_*itz的帖子

为什么另一个函数中的函数声明会编译,它会做什么?

我打算调用私有类成员函数,但是通过复制和粘贴错误粘贴该行,因为此函数在头文件中声明:

void DebugView::on_cbYAxisEnabled_stateChanged(int)
{
    void updateAxisEnabled();
}
Run Code Online (Sandbox Code Playgroud)

代替

void DebugView::on_cbYAxisEnabled_stateChanged(int)
{
    updateAxisEnabled();
}
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,代码被编译和执行.但是该方法updateAxisEnabled()未执行.

那么,它为什么要编译?这里是一个在方法体内声明的局部函数,还是void指示编译器忽略后来发生的任何事情?

编译器是Visual Studio 2008.

PS:我知道函数中的类声明/定义,但不知道C++中函数内的函数.

c++ visual-c++

25
推荐指数
2
解决办法
1718
查看次数

C#方法中有多少参数可以接受?

我是C#的新手,必须维护一个C#应用程序.现在我找到了一个有32个参数的方法(不是自动生成的代码).

从C/C++我记得经验法则"4参数".它可能是一个老式的规则,它可以回溯到旧的0x86编译器,其中4个参数可以容纳在寄存器中(快速)或者在堆栈中.

我并不关心性能,但我确实感觉即使在C#中,每个函数的32个参数也不容易维护.

或者我完全不是最新的?

C#的经验法则是什么?

谢谢你的提示!

c#

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

在postgres中显示所有不是空表

是否有简单的PostgreSQL甚至SQL方式列出空/非空表?

PS:我正在分析一个包含数百个表的数据库,并希望检测"死亡代码".我假设,当一个月后的桌子仍然是空的,而不是它没有使用.

编辑:解决

谢谢你们!最后,这句话似乎输出了我可以使用的统计数据:

select schemaname, relname, n_tup_ins from pg_stat_all_tables WHERE schemaname = 'public' ORDER BY n_tup_ins 
Run Code Online (Sandbox Code Playgroud)

sql postgresql

15
推荐指数
2
解决办法
7121
查看次数

如何验证rect是否在OpenCV中的cv :: Mat内?

cv::Mat::contains(cv::Rect)在Opencv中有什么类似的吗?

背景: 在将对象检测为轮廓并尝试使用cv :: boundingRect访问ROI后,我的应用程序崩溃了.好的,那是因为靠近图像边界的对象的边界可能不完全在图像内.

现在我通过此检查跳过不完全在图像中的对象:

if(
  cellRect.x>0 && 
  cellRect.y>0 && 
  cellRect.x + cellRect.width < m.cols && 
  cellRect.x + cellRect.width < m.rows) ...
Run Code Online (Sandbox Code Playgroud)

其中cellRect是对象的边界矩形,m是图像.我希望有一个专用的opencv功能.

c++ opencv

14
推荐指数
2
解决办法
9436
查看次数

OpenCV 3.0中是否缺少cv2.cv?

我刚刚在Win7上安装了OpenCV 3,用于Python 2.7.我已将cv2.pyd复制到/ DLLs.

不幸的是,我尝试过的许多例子都不起作用,因为在OpenCV3中似乎缺少cv2.cv

它有替代品吗?是否有一个新的常量名称表用于在cv2.cv中声明?

非常感谢!

opencv3.0

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

有没有办法检查Qt指针在Qt中是否仍然有效?

我有一个场景,匿名QObject通过发出信号启动异步操作.接收槽存储QObject指针并稍后设置该对象的属性.同时,这个对象可能会消失.

那么,有没有一种安全的方法来检查这个指针是否仍然有效?

PS:我知道QObject::destroyed信号,我可以连接到应该调用该setProperty指针的对象.但我想知道,如果它更容易.

c++ qt pointers

8
推荐指数
2
解决办法
5830
查看次数

通常的做法是"滥用"循环作为goto

如果在代码中有许多if子句并且代码的执行在先前的错误中是不明智的,那么使用单周期循环是否可以?只是为了能够休息时退出街区?像这样:

do {
    //..code
    if (error1) break;
    //..code
    if (errorN) break;
    //do finally something when no errors before
} while (false);
Run Code Online (Sandbox Code Playgroud)

c c++ coding-style

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

在C++中实现Foreach,这是一个穷人的方法

有快乐的人在使用boost和Qt.在我目前的"嵌入式"项目中,我必须使用自制的容器类.好的,足够的抱怨.

我试图实现一个简单而自包含的foreach:

#define ForEachString(S,C) TString S;\
        for ( int i=0; i<C.GetSize() && (!!(&(S=C[i]))); ++i  )
Run Code Online (Sandbox Code Playgroud)

它遍历一个包含op []和GetSize()方法的字符串列表.例如:

TStringList tables;
ForEachString( table, tables )
{
  //do sth. with tab.
}
Run Code Online (Sandbox Code Playgroud)

原因很简单,每个容器类型都需要自己的宏.因此,我的问题:是否有可能做到这一点的容器独立的和自仍然包含(所有需要的东西的宏定义)?

此致,Valentin

c++

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

从werkzeug.datastructures.FileStorage计算md5而不将对象保存为文件

我正在使用Flask上传文件.为了防止两次存储相同的文件,我打算从文件内容中计算md5,并将文件存储为.除非文件已经存在.

@app.route('/upload', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        file = request.files['file']
        #next line causes exception
        img_key = hashlib.md5(file).hexdigest()
Run Code Online (Sandbox Code Playgroud)

不幸的是,hashlib.md5抛出异常:

TypeError: must be string or buffer, not FileStorage
Run Code Online (Sandbox Code Playgroud)

我已经尝试过file.stream - 效果相同.

有没有办法从文件中获取md5而不暂时保存?

python flask

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

Flask仅侦听127.0.0.1忽略主机参数

我在Windows 7上使用Flask.烧瓶和相关版本如下:

Flask==0.10.1
Werkzeug==0.9.3
Run Code Online (Sandbox Code Playgroud)

从同一台计算机访问应用程序可以使用http://127.0.0.1:5000 但是从LAN中的另一台计算机访问失败:http://192.168.101.103:5000

我使用以下参数启动应用程序:

#app.py
if __name__ == '__main__':
    app.run( host='0.0.0.0:5000')
Run Code Online (Sandbox Code Playgroud)

我不明白的一件事是,当我在同一台计算机上启动netcat时,Flask当前正在同一端口上监听,它可以工作,甚至可以从另一台计算机访问netcat:

>c:\Python27\python manage.py runserver
>
 * Running on http://127.0.0.1:5000/
 * Restarting with reloader
Run Code Online (Sandbox Code Playgroud)

工作......

>nc -l -p 5000
Run Code Online (Sandbox Code Playgroud)

在同一台计算机上运行,​​同一个端口???

GET / HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: de-DE
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0;

Accept-Encoding: gzip, deflate
Host: 192.168.101.103:5000
DNT: 1
Connection: Keep-Alive
Run Code Online (Sandbox Code Playgroud)

甚至接受另一台电脑的连接???

所以除了明显的问题,如何让Flask为局域网服务,我很好奇,一台机器的两个进程怎么能在同一个端口上监听?

谢谢!

python lan netcat flask

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

标签 统计

c++ ×5

flask ×2

python ×2

c ×1

c# ×1

coding-style ×1

lan ×1

netcat ×1

opencv ×1

opencv3.0 ×1

pointers ×1

postgresql ×1

qt ×1

sql ×1

visual-c++ ×1