小编dan*_*jar的帖子

在C++中设置数组

我的目标是设置一个数据结构来存储我的应用程序的设置.

在PHP中我会写...

$settings = array(
    "Fullscreen" => true,
    "Width"      => 1680,
    "Height"     => 1050,
    "Title"      => "My Application",
);
Run Code Online (Sandbox Code Playgroud)

现在我尝试在C++中创建一个类似的结构,但它还无法处理不同的数据类型.顺便说一句,如果有更好的方式存储这些设置数据,请告诉我.

struct Setting{ string Key, Value; };

Setting Settings[] = {
    ("Fullscreen", "true"),     // it's acceptable to store the boolean as string
    ("Width", "1680"),          // it's not for integers as I want to use them later
    ("Height", 1050),           // would be nice but of course an error
    ("Title", "My Application") // strings aren't the problem with this implementation
};
Run Code Online (Sandbox Code Playgroud)

我怎样才能的结构建模associative …

c++ arrays settings types

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

如何平滑3D体素世界的块?

在我的(类似Minecraft)3D体素世界中,我希望平滑形状以获得更自然的视觉效果.我们先来看看2D中的这个例子.

没有平滑,圆形平滑和贝塞尔平滑

左边是没有任何平滑的世界.地形数据是二进制的,每个体素都呈现为单位大小的立方体.

在中心,您可以看到一个天真的圆形平滑.它只考虑四个直接相邻的块.它仍然不是很自然.而且,我想要出现平坦的45度斜坡.

在右侧,您可以看到我想出的平滑算法.它需要考虑八个直接和对角线的邻居才能得出一个块的形状.我在线有C++代码.这是提供贝塞尔曲线绘制的控制点的代码.

#include <iostream>

using namespace std;
using namespace glm;


list<list<dvec2>> Points::find(ivec2 block)
{
    // Control points
    list<list<ivec2>> lines;
    list<ivec2> *line = nullptr;

    // Fetch blocks, neighbours start top left and count
    // around the center block clock wise
    int center = m_blocks->get(block);
    int neighs[8];
    for (int i = 0; i < 8; i++) {
        auto coord = blockFromIndex(i);
        neighs[i] = m_blocks->get(block + coord);
    }

    // Iterate over neighbour blocks
    for (int i = 0; i …
Run Code Online (Sandbox Code Playgroud)

algorithm 3d graphics bezier voxel

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

检查对象的类型是否继承自特定的类

在C++中,如何检查对象的类型是否从特定类继承?

class Form { };
class Moveable : public Form { };
class Animatable : public Form { };

class Character : public Moveable, public Animatable { };
Character John;

if(John is moveable)
// ...
Run Code Online (Sandbox Code Playgroud)

在我的实现中,if查询在Form列表的所有元素上执行.继承自的所有类型的对象都Moveable可以移动并需要处理其他对象不需要的对象.

c++ oop inheritance types

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

我是否必须在类的头文件中提及私有方法?

现在我根本不使用头文件.类.cpp完全位于单个文件中.但是为了节省编译时间,我现在想要使用头文件.我希望Visual Studio不会编译那些未针对调试版本进行修改的类.

有没有办法在头文件中仅提及公共方法和成员.从理论上讲,这将是编译器的足够信息.如果另一个文件,比如main.cpp包括类头,则不需要私有方法和成员,是吗?

如何在不重新输入私有方法和成员名称的情况下使用头文件?我想要的原因是编码效率.当我想要为另一个方法使用的类添加一个小帮助函数时,我不想也必须将它的签名添加到头文件中.

c++ class header-files

9
推荐指数
2
解决办法
5258
查看次数

如何获取指向std :: vector的最后插入元素的指针?

我提出了以下剪辑,但它看起来很hacky.

vector<int> collection;
collection.push_back(42);
int *pointer = &(*(collection.end()--));
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法来获取指向最后插入元素的指针?

c++ pointers std push-back stdvector

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

我可以获得编译器应用的优化日志吗?

在编译启用了优化的C++应用程序或库时,比如-O3gcc,是否有办法列出应用的优化?我的意思是,没有比较实际的字节码.这将是有趣的学习.

c++ compiler-construction compiler-optimization

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

如何JSON序列化Django模型的__dict__?

我想在Django中序列化单个模型的值.因为我想使用get(),values()不可用.但是,我在Google网上论坛上读到您可以使用以下内容访问这些值__dict__.

from django.http import HttpResponse, Http404
import json
from customer.models import Customer

def single(request, id):
    try:
        model = Customer.objects.get(id=id, user=1)
    except Customer.DoesNotExist:
        raise Http404
    values = model.__dict__
    print(values)
    string = json.dumps(values)
    return HttpResponse(string, content_type='application/json')
Run Code Online (Sandbox Code Playgroud)

print语句输出.

{'_state': <django.db.models.base.ModelState object at 0x0000000005556EF0>, 'web
site': 'http://example.com/', 'name': 'Company Name', 'id': 1, 'logo': '', 'use
r_id': 1, 'address3': 'City', 'notes': '', 'address2': 'Street 123', 'address1': 'Company Name', 'ustid': 'AB123456789', 'fullname': 'Full Name Of Company Inc.', 'mail': …
Run Code Online (Sandbox Code Playgroud)

python django json dictionary django-1.7

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

如何在我的CMake项目中使用需要先安装的库?

我的CMake构建系统有问题.有些CMakeLists.txt文件定义了运行时或库,或者ExternalProjects_Add()用于下载和构建外部代码.由于依赖性,这些项目必须找到彼此.现在我希望有一个CMakeLists.txt顶级的,可以同时构建所有这些.为了找到一个项目,必须安装.但是在CMake的配置时已经完成了项目的查找.

repository
??project
? ??game (Depends on engine, uses EngineConfig.cmake once installed)
? ? ??CMakeLists.txt
? ? ??include
? ? ??src
? ? ??textures
? ??engine (Depends on boost, uses built-in FindBoost.cmake)
? ? ??CMakeLists.txt
? ? ??include
? ? ??src
? ??boost (Not the source code, just an ExternalProject_Add call)
? : ??CMakeLists.txt
?
??build
? ??game
? ??engine
? ??boost (Source will be downloaded and built here)
? : ??download
?   ??source …
Run Code Online (Sandbox Code Playgroud)

cmake build-system

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

即使列表引用发生变化,如何重用ngFor的元素?

我有一个Angular 2组件,用于*ngFor渲染嵌套的数字数组.

@Component({
  selector: 'app',
  template: `
    <div *ngFor="let row in data">
      <div *ngFor="let curve in row">
        <chart [data]="curve">
      </div>
    </div>
  `,
  directives: [Chart],
})
export default class App {
  data: number[][][];
}
Run Code Online (Sandbox Code Playgroud)

当我改变时data,<chart>即使新数组具有相同的尺寸,Angular 也会替换元素.我只想更新图表的属性但保留元素(以便我可以设置数据变化的动画).

可以理解,Angular会替换元素,因为新数组是一个新的对象引用.但我怎么能绕过这个呢?

angular2-template ngfor angular2-changedetection angular

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

如何使用jQuery在菜单上创建滑动动画?

我在很多网站上看过这个,但我不确定我是否能够解释它.

有时在导航中有滑动元素,就像用户将鼠标悬停在不同的菜单链接上时滑动的菜单项下的箭头一样.

这是一个简单的菜单:

<ul>
    <li><a href="#">Link 1</a></li>
    <li><a href="#">Link number 2</a></li>
    <li><a href="#">Link 3</a></li>
    <li><a href="#">Link something 4</a></li>
    <li><a href="#">Link 5</a></li>
</ul>   
Run Code Online (Sandbox Code Playgroud)

还有一些jQuery(我知道我可以通过简单的css获得相同的效果:hover):

jQuery('ul li a').hover(function() {
    jQuery('a').removeClass('active');
    jQuery(this).addClass('active');
});
Run Code Online (Sandbox Code Playgroud)

另外,工作jsfiddle:

http://jsfiddle.net/8EvhK/

按钮背景在悬停时变为红色.我希望这个背景在我悬停时在这些按钮之间滑动和变换(宽度).

怎么做那样的事情?我一直在寻找教程,但没有运气.

非常感谢!

javascript css navigation jquery jquery-animate

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